Cleaner, clearer JavaScript.

A modern scripting language for themodern Web.

Ren is a functional, immutable-by-default, dynamically typed scripting language. Combining productive functional features such as tagged unions and pattern matching with the freedom of JavaScript, Ren strikes a pragmatic balance between safety and flexibility.

Install from npm, or don't.

Drop a single script tag in your HTML and start writing Ren immediately. Prefer npm? You can find us there too.

No types? No problem.

Powerful pattern matching gives you the tools to handle dynamic code effortlessly.

First-class tests.

Testing constructs for floating-point tolerance, predicate satisfication, and exception handling are built into Ren. Co-locate definitions and tests, and automatically run them during compilation.