Releases: AR-Lumo/soliton
Release list
Soliton 0.1.0
First published build under the name Soliton. Same language, same
version — it was called Cinder until this release, and Ember before
that. Nothing about the language changed; the file extension did.
A statically-typed compiled language with an LLVM backend: ownership and
moves, generics, modules, a package manager, and three features that are
less common — contracts, units of measure, and effect annotations.
Downloads
soliton-0.1.0-windows-x64.zip — Windows 10 or later, 64-bit.
Unzip it anywhere and run bin\soliton.exe. Nothing else is needed: the
compiler carries its own linker and ships the archives it links against,
so it works on a machine with no compiler, no LLVM and no MSYS2 on it.
The programs it produces import nothing that Windows does not already
have.
sha256 1cca953ec747736f79aae66aea3d11843ca0c526760ebd474cfafbf2dd28d8d6
Other platforms build from source — see Getting started.
The self-contained packaging is Windows-only so far; on Linux and macOS
the compiler still calls an external linker.
Moving from .ci
Source files are now .sn and interface files .sni. Renaming your
files is the whole migration — no syntax changed. .so was unavailable
(Linux shared objects) and .sol is Solidity's.
soliton run hello.sn compile and run
soliton check hello.sn type-check only
soliton build hello.sn compile to an executable
Worth knowing before you build on it
References (&T) are unchecked. Soliton has ownership and moves, but no
borrow checker, so a reference outliving what it points at is a
use-after-free that nothing diagnoses. That is a deliberate design
choice rather than a bug queue; the
known limitations
list the rest.
Cinder 0.1.0
First published build of Cinder.
A statically-typed compiled language with an LLVM backend: ownership and
moves, generics, modules, a package manager, and three features that are
less common — contracts, units of measure, and effect annotations.
Downloads
cinder-0.1.0-windows-x64.zip — Windows 10 or later, 64-bit.
Unzip it anywhere and run bin\cinder.exe. Nothing else is needed: the
compiler carries its own linker and ships the archives it links against,
so it works on a machine with no compiler, no LLVM and no MSYS2 on it.
The programs it produces import nothing that Windows does not already
have.
sha256 b8dcc2ea15c179b4207c8bba6ff1358f4ca2cf4cb9a242458a807e4209ad507a
Other platforms build from source — see Getting started.
The self-contained packaging is Windows-only so far; on Linux and macOS
the compiler still calls an external linker.
Getting going
cinder run hello.ci compile and run
cinder check hello.ci type-check only
cinder build hello.ci compile to an executable
Getting started
walks from an empty file to a multi-file program using units, contracts
and effects across three modules.
Worth knowing before you build on it
References (&T) are unchecked. Cinder has ownership and moves, but no
borrow checker, so a reference outliving what it points at is a
use-after-free that nothing diagnoses. That is a deliberate design
choice rather than a bug queue; the
known limitations
list the rest.