Developer James Coglan has created Fargo, a small experimental programming language for a asynchronous systems in JavaScript. It works in both Node.js and in browsers. Fargo is a modified version of Scheme, a dialect of LISP.

Considering that Douglas Crockford once called JavaScript “LISP in C’s Clothing,” why exactly do we need another Scheme-like language for working with it? According to the ReadMe, Fargo is “designed to ease asynchronous functional programming by providing features missing in JavaScript, namely tail recursion and some form of continuations.”
“The main experiment here is that Fargo supports Ruby-style fibers for pausing and resuming async work,” Coglan writes on the Fargo site.
According to the ReadMe, Fargo features the following syntax elements from Scheme:
definefor binding variables and creating functionsbeginfor bundling blocks of code as single expressionsiffor conditional branchinglambdafor creating first-class anonymous functionsquotefor defining immutable listsandandorfor boolean logic
It also adds more predicates, operators, list primitives and library functions.
Fargo is available under an MIT license.