Scheme is a small gem. Aloe is a similar gem with two new facets.
(receiver selector arg …). The selector is a
symbol; it is not evaluated. Functions are objects that understand call.In the 1970s Steele and Sussman studied Hewitt’s actor model and found that message send and function application could express each other. Scheme took application as the primitive. Aloe takes the other branch: a Lisp whose kernel is sending a message.
The core stays small on purpose. Libraries and programs grow the rest
(lib/list.aloe, examples/). See docs/philosophy.md and SPEC.md.
SPEC.md — language 0.1CHECKPOINTS.md — implementation orderAGENTS.md — rules for a coding agentlib/list.aloe — Aloe implementations of fold, reverse, and mapexamples/boids.aloe — target programFrom the project directory, after loading the Racket path from your profile:
./bin/aloe
./bin/aloe examples/boids.aloe
./bin/aloe --quit examples/boids.aloe
The first command starts the REPL. Loading a file without --quit evaluates it
and then opens the REPL with its definitions and classes still available.
Typecheck examples/boids.aloe and evaluate (demo step).
Interpreter + type checker in Racket only. No compiler.
Legal now: Aloe 0.1 typechecks and evaluates the complete examples/boids.aloe program, including both trailing step sends.
10 commits
Hacker News (2)
Racket
100.0%
Scheme is a small gem. Aloe is a similar gem with two new facets.
(receiver selector arg …). The selector is a
symbol; it is not evaluated. Functions are objects that understand call.In the 1970s Steele and Sussman studied Hewitt’s actor model and found that message send and function application could express each other. Scheme took application as the primitive. Aloe takes the other branch: a Lisp whose kernel is sending a message.
The core stays small on purpose. Libraries and programs grow the rest
(lib/list.aloe, examples/). See docs/philosophy.md and SPEC.md.
SPEC.md — language 0.1CHECKPOINTS.md — implementation orderAGENTS.md — rules for a coding agentlib/list.aloe — Aloe implementations of fold, reverse, and mapexamples/boids.aloe — target programFrom the project directory, after loading the Racket path from your profile:
./bin/aloe
./bin/aloe examples/boids.aloe
./bin/aloe --quit examples/boids.aloe
The first command starts the REPL. Loading a file without --quit evaluates it
and then opens the REPL with its definitions and classes still available.
Typecheck examples/boids.aloe and evaluate (demo step).
Interpreter + type checker in Racket only. No compiler.
Legal now: Aloe 0.1 typechecks and evaluates the complete examples/boids.aloe program, including both trailing step sends.
Hacker News (2)
10 commits
Racket
100.0%