lambda-0.1
·
5582 commits
to master
since this release
Lambda v0.1
This is the first milestone release of Lambda Script: a general-purpose, cross-platform, pure functional scripting language and document processing engine.
Lambda is built from scratch in C/C++ with a lightweight runtime, Tree-sitter parsing, and an optional MIR-based JIT compilation/execution path.
Note: Lambda Script is still evolving — syntax/semantics and implementation details may change.
A stable subset of the literal data model is separately formalised and released as
Mark Notation.
Highlights
- Pure-functional core runtime: immutable data structures (lists, maps, elements) with first-class functions.
- Interactive REPL for exploration and debugging.
- Tree-sitter based frontend for fast parsing and a foundation for editor/tooling integration.
- Optional MIR JIT execution path for performance-sensitive workloads.
- Document pipeline: parse → normalize → validate/transform → layout → render/view.
- Radiant HTML/CSS/SVG engine for layout, rendering, and an interactive viewer.
What’s included in v0.1
Language & runtime
- Pure functional evaluation model with immutable core data types.
- Reference-counting and pooled/arena allocators for predictable memory behavior.
- Optional JIT compilation via MIR.
CLI & workflows
The v0.1 CLI supports the following workflows:
- Run scripts
- Functional script execution:
./lambda.exe <script.ls> - Procedural script execution:
./lambda.exe run <script.ls>
- Functional script execution:
- Validate data/documents against schemas:
./lambda.exe validate <file> [-s <schema.ls>] - Convert between formats:
./lambda.exe convert <input> [-f <from>] -t <to> -o <output> - Layout document inputs (HTML/LaTeX/Lambda outputs):
./lambda.exe layout <file> [options] - Render to graphics targets:
./lambda.exe render <input> -o <output.svg|pdf|png|jpg> [options] - View content interactively:
./lambda.exe view [file]
Tip: ./lambda.exe <command> --help prints detailed options and examples.
Input parsing & formatting
- Multi-format parsing into a unified Lambda/Mark node tree.
- Designed for treating documents as structured data, enabling transformations beyond plain text editing.
- Supports a broad range of structured-data and document formats (e.g. JSON/XML/HTML/Markdown/Wiki/YAML/TOML/CSV/LaTeX/PDF, etc.).
Type system & schema validation
- Type inference and explicit annotations (TypeScript-like ergonomics).
- Schema-based validation for structured data and document trees, including element schemas.
- Detailed validation errors with expected/actual diagnostics and paths.
Radiant layout, rendering & viewer
- Browser-compatible layout engine supporting:
- block/inline flow
- flexbox
- grid
- tables
- Render targets:
- SVG
- PNG/JPEG
- Unified viewer for HTML/XML/Markdown/Wiki/LaTeX/PDF and Lambda evaluation results.
Compatibility / stability notes
- This is an early milestone (0.1) release.
- Expect changes as the language and document pipeline evolve.
- If you hit issues, please open a GitHub issue with:
- OS + compiler
- command line used
- a minimal reproducer input/script