Skip to content

Kiln 1.0.2

Choose a tag to compare

@AxDSan AxDSan released this 07 Sep 16:45
· 170 commits to main since this release

A windowed program was 25MB. It is now 6.2MB.

None of it was your program. The prebuilt accesskit-c archives ship with full
Rust debug information — 43MB for linux-x86_64 alone — and it was linked into
every windowed program built with Kiln. A default build of the GUI template
came out at 25MB, of which 19MB was .debug_str and .debug_info naming
crates in /home/runner/.cargo/registry. The program's own code was under 4MB.

A debug build keeps your program's debug information, which is what stepping
needs and is a few kilobytes. The archives are now stripped once when they are
fetched, so the toolchain has nothing extra to link.

  • GUI template, default build: 25MB → 6.2MB
  • --release: 4.5MB, unchanged — it was already dropping it at the link
  • The Linux bundle itself: 16MB → 9.4MB

If you are on 1.0.1, this is the release to take: the fix is in the archives
the bundle ships, so upgrading the toolchain is what shrinks your builds.

One language guide, not three pages saying the same thing

"A tour of the language", "Language guide" and "Shorthands and sugar" were
three doors into one room, and the reader had to guess which. There is now one
Language guide, and it is the introduction: the whole language in the order
you meet it — a module, the values it holds, the ways it chooses, repeats and
calls, then what happens when something fails.

The shorthands are no longer a chapter of their own. Compound assignment sits
under let and var; interpolation, blocks and raw text under writing text;
for each, ranges and repeat N times immediately below the counting for
they are written as; otherwise, check, T? and defer next to the error
slot they exist for. Each still says what it is rewritten into — a point better
made beside the longhand than a page away from it.

New whole-program examples for what a newcomer looks up first: an
if/else if/else chain, conditions built from and, or and not, and
one program showing while, a counting for, a for with a step, and
break and continue together. Every listing on the page is a whole module
and the build compiles all of them.


Linux — tar xzf kiln-1.0.2-linux-x86_64.tar.gz && cd kiln-1.0.2-linux-x86_64 && bin/kiln-studio

Windows — unzip and run bin\kiln-studio.exe

Needs clang and ar on the path to build programs. Any clang from 15 up.