Files
AILang/crates/ail/Cargo.toml
T
Brummel a9d57c5c81 prose: human-readable projection renderer (iter 20a)
New crate ailang-prose with one public fn module_to_prose(&Module)
-> String. Rust-flavour with braces, =>-match-arms, mode keywords
(own/borrow), effects as trailing 'with IO', Cons(1, Nil) ctor
form, /// doc strings.

Lossy projection where the LLM can re-derive: (con T) wrap,
(fn-type ...) wrap, (term-ctor ...) wrap. Load-bearing semantic
detail stays visible (modes, effects, clone, reuse-as, doc strings,
type annotations, tail flag).

CLI: 'ail prose <file.ail.json>' prints the projection.

3 snapshot fixtures + 28 unit tests. 215-line .ail.json reduces
to ~18 lines of legible source.

20b queued: infix arithmetic, paren elision, let-inlining, do
prettify.
2026-05-08 18:06:16 +02:00

20 lines
384 B
TOML

[package]
name = "ail"
version.workspace = true
edition.workspace = true
license.workspace = true
[[bin]]
name = "ail"
path = "src/main.rs"
[dependencies]
ailang-core.workspace = true
ailang-check.workspace = true
ailang-codegen.workspace = true
ailang-surface.workspace = true
ailang-prose.workspace = true
serde_json.workspace = true
clap.workspace = true
anyhow.workspace = true