Skip to content

Cinder 0.1.0

Choose a tag to compare

@AR-Lumo AR-Lumo released this 06 Sep 13:21
· 13 commits to main since this release

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.