Skip to content

Releases: assapir/quilon

Release list

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 21:01
902ebc6

Quilon v0.9.0 — "Stable basics"

A stable, verified core of the Quilon language — not yet
feature-complete
. Programs run via quilon run (in-process LLVM
JIT) or compile to native executables via quilon build.

Highlights: ^ entry point (implicit exit-0), <</>> modules,
|> first-argument-injection pipe, for n <- collection => body
loops, the built-in Text type, core.io (print/eprint/write),
sum types with pattern matching, methods on records, and conservative
(Boehm) GC. Built against LLVM 22.

Known limitations: no generics yet (so Text/non-numeric values
inside records, arrays, or Ok/NotOk payloads are unsupported — numeric
payloads work), no closures / while loops / user-defined sum types,
dynamic libgc, placeholder argv. See CHANGELOG.md for the full list.

The attached quilon binary is a dynamically-linked Linux x86-64 build
(requires libgc at runtime).

What's Changed

  • Add CLAUDE.md and ignore Claude Code worktrees by @assapir in #1
  • CI: build, test, fmt, clippy workflow by @assapir in #2
  • Foundation: <</^/>> tokens, String→Text, entry-point >>→^, module/AST scaffolding by @assapir in #3
  • Runtime intrinsics, core IO (print), Boehm GC (B4) by @assapir in #8
  • Typed sum-type payloads (tag + sized union) by @assapir in #7
  • Methods on named records: codegen + static dispatch by @assapir in #5
  • JIT execution: quilon run + run-test harness by @assapir in #4
  • Module system: << imports, >> exports, loader (B1) by @assapir in #6
  • Fix: resolve imports in quilon run (integration follow-up) by @assapir in #9
  • Strict CI (deny warnings) + tree-wide warnings cleanup by @assapir in #10
  • Text built-in type ({ptr,len}): + concat, .size (bytes), .length (graphemes) by @assapir in #11
  • Refactor: extract shared CLI front-end (read/lex/parse/resolve/typecheck) by @assapir in #12
  • Prune unused dependencies by @assapir in #13
  • Pipe operator :> (first-arg injection) + IO redesign: write/print/eprint, drop println by @assapir in #14
  • Phase D: curate examples + examples-compile gate by @assapir in #16
  • Native AOT: package libquilon_rt static lib so compiled binaries link by @assapir in #17
  • Implicit exit-0 for ^ when the body is not a Num by @assapir in #18
  • quilon build: Rust-native AOT (TargetMachine object emit + linker), both-linker gate, drop aot.sh by @assapir in #19
  • Release 0.9.0 housekeeping: LLVM 22, checkout@v5, CHANGELOG, release workflow by @assapir in #20
  • Phase D: align & de-duplicate docs (LANGUAGE/README/CLAUDE) by @assapir in #15

New Contributors

Full Changelog: https://github.com/assapir/quilon/commits/v0.9.0