GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing urn-lang.com — Urn: A Lisp implementation for Lua | Urn Urn: A Lisp implementation for LuaUrn is a new language developed by SquidDev, and demhydraz. Urn is a Lisp dialect with a focus on minimalism which compiles to Lua. What?
¹: Minimalism is an implementation detail. FeaturesPattern matching> (case '("x" (foo 2 3)) . [(string? @ ?x) (.. "Got a string " x)] . [("x" (foo . ?x)) (.. "Got some remaining values " (pretty x))]) out = "Got some remaining values (2 3)" Various looping constructs> (loop [(o '()) . (l '(1 2 3))] . [(empty? l) o] . (recur (cons (car l) o) (cdr l))) out = (3 2 1) Powerful assertion and testing framework> (import test ()) out = nil > (affirm (eq? '("foo" "bar" "") . (string/split "foo-bar" "-"))) [ERROR] <stdin>:1 (compile#111{split,temp}:46): Assertion failed (eq? (quote ("foo" "bar" "")) (string/split "foo-bar" "-")) | | | ("foo" "bar") ("foo" "bar" "") First-class support for Lua tables> { :foo 1 . :bar 2 } out = {"bar" 2 "foo" 1} Friendly error messages> (] [ERROR] Expected ')', got ']' => <stdin>:[1:2 .. 1:2] ("]") 1 │ (] │ ^... block opened with '(' 1 │ (] │ ^ ']' used here > Getting startedWe have a getting started guide to help you get set up. Or you can clone the repo and jump right in! The website also contains documentation for all functions and macros, should you need to check how something works. If you have any questions, would like to contribute or just feel like chatting, do join us in the Tutorial
ReferenceRecent NewsAll libraries
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |