Skip to content

Releases: AR-Lumo/soliton

Soliton 0.1.0

Choose a tag to compare

@AR-Lumo AR-Lumo released this 06 Sep 16:11

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

Choose a tag to compare

@AR-Lumo AR-Lumo released this 06 Sep 13:21

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.