Repository navigation
Kiln 2.0.0
Kiln 2.0 — Kiln 2 is the language: C#-shaped, still one native binary.
Kiln 2.0 is the release where Kiln 2 is Kiln. A program is C#-shaped source —
namespaces, classes and records with methods, generics, lambdas, T?,
Result<T> and no exceptions — compiled to one native binary with no runtime,
no metadata in the binary and no interpreter inside. A 1.x program still builds,
with a deprecation note; kiln migrate converts one.
This release invalidates 1.x source and the C ABI. KILN_ABI_VERSION is 5:
event handlers carry an environment pointer, so a support library must be
rebuilt against it. The versioning promise starts here — 2.x will not break a
Kiln 2 program that compiles today.
Language
- Namespaces,
static class/class/record/enum/interface, methods and
constructors, visibility,const,var/let. - Generics, methods and types: monomorphised,
whereconstraints enforced. - Lambdas and capturing closures,
Func<>/Action<>,Where/Select/Any/
First/OrderBy/SortoverList<T>. Result<T>with?and??,T?with null-check narrowing,x!andx?..switchexpressions,defer,$"…{x}…"interpolation.[Table]/[Column]/[Auto]compile-time SQL,[Packed]binary layouts,
[Dll]and c-function-pointer interop,[CLayout]records.
The RAD half
formblocks andpartial form, components and properties,Click += …
wired to a method group or a lambda written at the wiring site.- Studio opens, edits, saves and wires Kiln 2 forms through
kiln inspectand
kiln edit— the CLI is the only reader and the only writer.
Targets
- Console and GUI programs,
sharedlibandstaticlibwith a C header, on
Linux x86-64, plus Windows x64/x86 cross builds.
Tooling
kiln fmt(fixed point, comments carried) andkiln migrate(1.x → K2).- Language server: diagnostics, outline, formatting, hover, completion.
- DWARF debug info: a K2 binary is steppable, and records, classes, lists,
dictionaries, sets,Result<T>,stringandT?all read as the shapes
they are.
Runtime
- The collector reclaims memory while the program runs, including values held
only in a module variable and environments held by handlers wired at run
time.
Bundles: kiln-2.0.0-linux-x86_64.tar.gz and
kiln-2.0.0-windows-x86_64.zip, with .sha256 checksums beside them.