A LISP dialect

bc99b74 Added AoC challenges as automatic tests

12 hours ago

#53 [sort] would be good to have

~melchizedek6809 filed ticket on Nujel todo

13 hours ago


A Lisp inspired language for games and other latency sensitive applications. Development started in order to give WolkenWelten a scripting layer.

#Why Nujel?

Mostly because I wanted the following for WolkenWelten:

  • A Lisp
  • with static typing
  • embeddable in C
  • designed for beginners

#Infix operations

One part that is quite different to most Lisps is that one can evaluate [display [1 + 2 * 3]] and get 7, as one would expect from other languages. This is due to each type having a convenience function associated to them, which is an infix evaluator in the case of the numeric types, or cat for strings and arr-ref for arrays. So you can also write [display ["The result is: " [1 + 1]]]. Or [display [#["Yay" "Nay"] 0]].

#Trees / Maps

Nujel also has built-in support for maps using binary trees, including support by the reader for a convenient syntax to definie literals with, for example [@[:one 1 :two 2] :two] returns 2.

#Try it out yourself

You can easily start experimenting with Nujel right in your Browser by using a WASM Release.

#Build Status

Operating System Master Develop
Windows Windows Windows
Ubuntu Ubuntu Ubuntu
Operating System CI Status
Arch Linux builds.sr.ht status
Alpine Linux builds.sr.ht status
FreeBSD builds.sr.ht status
NetBSD builds.sr.ht status
OpenBSD builds.sr.ht status
Debian Sid / ARM64 builds.sr.ht status