|Inspired partly by BiwaScheme, I wrote an interpreter for Arc in coffee-script.|
It's on github, but no README yet.
It supports quasiquatation, special syntax (such as 'a.b!c, 'a:b~c), and macros.
You can run a REPL by executing ./jsarc
Here's a sample session
Needless to say, it's no where near usable yet. Only the very basics are implemented.
jsarc> (ssexpand 'a.b)
jsarc> '`(a b c ,d ,@e)
(quasiquote (a b c (unquote d) (unquote-splicing e)))
jsarc> ((fn (a b) (/ (+ a b) 2)) 10 20)
jsarc> (mac def (name args . body) `(= ,name (fn ,args ,@body)))
jsarc> (def avg (x y) (/ (+ x y) 2))
jsarc> (avg 20 10)
jsarc> ((list 1 2 3 4 5 6) 4) # indexing