Fargo //

An experimental language to improve how we work with asynchronous systems in JavaScript. It runs on Node.js and in browsers.

Its core is a modified R5RS Scheme. It has tail-recursion and syntax-rules macros, and uses the core library from Heist. Data types are booleans #t / #f , numbers, symbols, strings, lists (a b c) and vectors #(a b c) . Quasiquoting with ' / ` / , / ,@ is supported.

Instead of call/cc , Fargo supports Ruby-style fibers for pausing and resuming async work. View source for an example using set-timeout . You can find out more over on GitHub.

(download "0.0.1-preview")

MIT licensed, © 2011 James Coglan.