~melchizedek6809/Nujel

A LISP dialect

d2ffb40 Initial work on stackless funcalls

18 hours ago

0e05b97 WIP

22 hours ago

#Nujel

A Lisp inspired language for games and other latency sensitive applications. Development started in order to give WolkenWelten a scripting runtime. While Nujel is still very early in development, and for the most part just a terrible Scheme, it is evolving rapidly.

#Future direction

To get an idea about the design and future direction of Nujel have a look at the FUTURE.md.

#Current status

Here is a collection of features already implemented, or about to be finished.

  • [X] Extensive test suite
  • [X] Lexical scoping
  • [X] Exceptions
  • [X] WASM support
  • [X] Formatted output (inspired by Python/Rust/Zig)
  • [X] Maps (using binary trees)
  • [X] Garbage Collection (Mark-and-Sweep for now)
  • [X] Macros (expander written in Nujel itself)
  • [X] Bytecoded
  • [ ] Tail-call elimination
  • [ ] NaN Boxing
  • [ ] Modules
  • [ ] Continuations
  • [ ] Fibers
  • [ ] Serializable Fibers

#Try it out

You can try out a current WASM Build over here.

#GitHub CI (Windows/MacOS/Ubuntu)

Master Develop
CI CI

#sourcehut CI

Operating System Master Develop
Arch Linux (gcc) builds.sr.ht status builds.sr.ht status
Arch Linux (clang) builds.sr.ht status builds.sr.ht status
Arch Linux (tcc-git) builds.sr.ht status builds.sr.ht status
Arch Linux (bmake) builds.sr.ht status builds.sr.ht status
Debian Sid / ARM64 builds.sr.ht status builds.sr.ht status
Guix builds.sr.ht status builds.sr.ht status
Rocky Linux builds.sr.ht status builds.sr.ht status
Alpine Linux builds.sr.ht status builds.sr.ht status
FreeBSD builds.sr.ht status builds.sr.ht status
NetBSD builds.sr.ht status builds.sr.ht status
OpenBSD builds.sr.ht status builds.sr.ht status