Get the latest tech news

Jill – a functional programming language for the Nand2Tetris platform


Compiler for the Jill programming language (an alternative to Jack from the nand2tetris course) - mpatajac/jillc

It is designed as a drop-in replacement for Jack, as it uses the same VM instruction set and underlying HACK architecture, and follows similar design principles (willing to sacrifice ease of use to favour ease of implementation), while offering an alternative to Jack's very object-oriented, verbose style ( I like to think of Jill as Jack's more elegant, modern sister). functions as first-class citizens (ability to store them in variables, pass them on to other functions as arguments, and return from functions as a result) optimized tail-call recursion to use constant stack space (single stack frame) data modeling using algebraic data types with primitive pattern-matching (per type variant) note that, as with Jack, all variables are still effectively 16-bit integers, therefore Jill is dynamically typed expanded standard library which is lazily-generated (instructions are generated only for modules and functions which were used in codebase) common design choices of functional languages (no loops, variables are immutable, code is organized into modules etc.)

Get the Android app

Or read this on Hacker News

Read more on:

Photo of jill

jill

Photo of Nand2Tetris platform

Nand2Tetris platform

Photo of Nand2Tetris

Nand2Tetris

Related news:

News photo

Final Fantasy XVI: The Rising Tide looks to lift Jill