A tiny, embeddable language implemented in ANSI C
(= reverse (fn (lst) (let res nil) (while lst (= res (cons (car lst) res)) (= lst (cdr lst)) ) res )) (= animals '("cat" "dog" "fox")) (print (reverse animals)) ; => ("fox" "dog" "cat")
- Supports numbers, symbols, strings, pairs, lambdas, macros
- Lexically scoped variables, closures
- Small memory usage within a fixed-sized memory region — no mallocs
- Simple mark and sweep garbage collector
- Easy to use C API
- Portable ANSI C — works on 32 and 64bit
- Concise — less than 800 sloc
The library focuses on being lightweight and minimal; pull requests will likely not be merged. Bug reports and questions are welcome.
This library is free software; you can redistribute it and/or modify it under the terms of the MIT license. See LICENSE for details.