The Urn Logo

Version 0.3.1 released

It’s a little earlier than normal, but it’s still update time.

New documentation

This isn’t very exciting, but we’ve re-done a fair bit of documentation, adding explanations on syntax and special forms, as well as more tutorials on Lua interop and the compiler API & plugin system.

General recursion helper

demhydraz has been working on a whole range of improvements to the standard library. One of these is the new loop construct. This makes it possible to define a tail-recursive construct without an explicit letrec: Instead of calling yourself, you call recur. For instance, here is a naive way to reverse a list:

(loop [(o '())
       (l '(1 2 3))]
  [(empty? l) o]
  (recur (cons (car l) o) (cdr l)))