dasJS is a collection of experiments in augmenting JavaScript with various new language features, such as:
- dynamic scoping
- Common Lisp-style conditions and restarts
- pattern-based control flow
Some features (such as dynamic scoping) are implemented using pure-JavaScript syntax with special restrictions, and others use new syntax. Everything compiles down to valid JavaScript so that it could actually be used in production code.