An interpreter for Paul Graham's Bel programming language.
To run it locally, download a binary from the release page.
Or to build from source, install Stack and run stack run
from the repository root.
Good enough for learning and playing with Bel, not yet good enough to use in anger.
Everything in the spec is implemented except for threads and syscalls.
Every REPL example in the spec works as shown except for a few cases where the spec is slightly inconsistent (eg the text shows a function returning a truthy value as t
but the bel.bel implementation returns more info than that). In those cases Chime follows the behavior of bel.bel.
Some optimization work has been done, but code still runs very slowly.
The interpreter has had very little usage so far, and there are surely many improvements that one would wish for. Probably some incorrect behavior, as well.