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")overview
- Support numbers, symbols, strings, lambdas, macros
- Lexically scoped variables, closures
- Use a small amount of memory within a fixed-size memory region
- Simple mark-and-sweep garbage collector
- Easy-to-use C language API
- Portable ANSI C – for 32-bit and 64-bit
- Compact – less than 800 sloc
Create a new function:
> (= sqr (fn (n) (* n n))) nil > (sqr 4) 16
Create a new macro:
> (= incr (mac (x) (list '= x (list '+ x 1)))) nil > (= n 0) nil > (incr n) nil > n 1
#Homepage #Documentation #Downloads #Embeddable #Language #Implemented #ANSI #News Fast Delivery