Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: e4fb34b60e
Fetching contributors…

Cannot retrieve contributors at this time

37 lines (26 sloc) 1.351 kB

Wat Programming Language

Wat is an ultra-lightweight, advanced, and practical Lisp for JavaScript, in which everything is first-class: syntax, control, and data. Syntax is based on lexically-scoped fexprs and first-class environments, subsuming ordinary procedures and hygienic macros. Control is based on delimited continuations, subsuming all computational effects such as lightweight threads and monads. Data uses first-class types that allow generic programming over built-in as well as user-defined types. The language is rounded out with Common Lisp features such as generic functions, restartable exceptions, dynamically-bound variables, a numerical tower, and common data structures such as hashtables. The Wat runtime is implemented in only 500 lines of JavaScript and evaluates the prelude and a REPL written in Wat in under 50ms in common JavaScript interpreters.

The Wat Language Manual is online at

Wat on the WWW

Try Wat online with a rudimentary REPL at

Wat on the PC

Execute ./wat. (Requires SpiderMonkey command-line JS interpreter.)

Current Status

Wat is actively being developed by Manuel Simoni ( and currently only for the brave.


wat-js is released under the MIT License.

Jump to Line
Something went wrong with that request. Please try again.