Jill: A New Functional Programming Language for Nand2Tetris

2025-02-15
Jill: A New Functional Programming Language for Nand2Tetris

Jill is a functional programming language built for the Nand2Tetris platform as an alternative to the original Jack high-level language. It's a drop-in replacement for Jack, using the same VM instruction set and HACK architecture, but offering a more elegant, functional style. Key features include first-class functions, optimized tail-call recursion, algebraic data types with pattern matching, and a minimal design with only three core concepts. Compiled projects output .vm files to a /bin directory. Jill can be compiled using `cargo run -- path_to_jill_project_root` or `jillc [path_to_jill_project_root]`.

Development