Lust

Lust is a small Lisp-like programming language. It has three primary goals:

  1. Serve as an excuse for me to learn more about putting together programming languages.
  2. Provide the flexability of a dynamic language like Python or Lisp.
  3. Do all of this without compromising peformance.

Lust is still very work in progress but the core is reasonably stable now. At this point I don't expect to break programs written in Lust that don't use the standard library

Examples

Hello world.


(println '"hello world!")
    

A when macro.


(setq when (macro (cond body) `(if ,cond ,body ())))
    

Inspecting the when macro in a Lust REPL.


lust> (import 'std)
lust> (macroexpand (when 1 2))
=> (if 1 2 ())
    

Reference

  1. The core language.