Thun/implementations/Nim
Simon Forman db9c2c16a9 inscribe command for Nim.
https://todo.sr.ht/~sforman/thun-der/27

It doesn't let you overwrite definitions that are loaded from defs.txt.
It DOES let you overwrite builtins, but that doesn't matter because they
are handled by joy_eval() before it checks the dictionary, so in
practice the definitions are never evaluated even though they are put
into the dictionary.  Whew!  It's hacky but it works!
2023-02-14 20:27:36 -08:00
..
htmldocs minor cleanup 2023-02-09 08:28:31 -08:00
Makefile Minor cleanup, subtraction. 2022-09-14 21:01:50 -07:00
README.md Minor cleanup, subtraction. 2022-09-14 21:01:50 -07:00
defs.txt or instead of ||, and instead of && 2023-02-14 12:27:46 -08:00
joy.nim inscribe command for Nim. 2023-02-14 20:27:36 -08:00

README.md

Joy interpreter in Nim

Simple pleasures are the best.

This interpreter written in Nim is part of the Thun project, which includes interpreters written in Python and Prolog, and some explorations towards compilers for Joy written in Prolog.

Building

To build an executable just run:

nim c joy.nim

To build and immediately run an executable use:

nim c -r joy.nim

To build a smaller binary do:

nim c -d:release joy.nim
strip --strip-debug joy.exe

Dependencies

TODOs:

  • link to other Thun sub-projects & info on Joy in general
  • ctrl-c should exit cleanly
  • graphics?
  • words and help?
  • How to integrate docs?

nim cc
-d:release
--stackTrace:off
--lineTrace:off
--checks:off
--assertions:off
--debugger:native
joy.nim

nim doc --project --index:on --git.url:"https://git.sr.ht/~sforman/Bliss" --git.commit:10b5651ed242fb16c29f2c1f7340d77f65926ca4 --outdir:htmldocs joy.nim

10b5651ed2/item/types.nim (L26)