Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in a familiar, modern syntax. The VM implementation is under 4,000 semicolons. You can skim the whole thing in an afternoon. It's small, but not dense. It is readable and lovingly commented. A fast single-pass compiler to tight bytecode and a compact object representation help Wren compete with other dynamic languages. There are lots of scripting languages out there, but many have unusual or non-existent object models. Wren places classes front and center. Lightweight fibers are core to the execution model and let you organize your program into an army of communicating coroutines. Wren is intended for embedding in applications. It has no dependencies, a small standard library, and an easy-to-use C API. It compiles cleanly as C99, C++98 or anything later.
Features
- Wren is small
- Wren is fast
- Wren is class-based
- Wren is concurrent
- Wren is a scripting language
- Class-based concurrent scripting language