Login
7 branches 0 tags
Ben (X13/Void) Improved the compiler deadlock detection 607e4ca 4 years ago 341 Commits

Nujel

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 (still not implemented!)
  • 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
MacOS MacOS MacOS
Ubuntu Ubuntu Ubuntu
WASM REPL WASM WASM
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