Very similar in scope and purpose to the recently covered Gravity language, today we are looking at wren. wren is a class based programming language that aims to bring Smalltalk like programming to a Lua sized footprint, with the intention of being embedded in application code. Highlights of wren include:
- Wren is small. 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.
- Wren is fast. A fast single-pass compiler to tight bytecode, and a compact object representation help Wren compete with other dynamic languages.
- Wren is class-based. There are lots of scripting languages out there, but many have unusual or non-existent object models. Wren places classes front and center.
- Wren is concurrent. Lightweight fibers are core to the execution model and let you organize your program into an army of communicating coroutines.
- Wren is a scripting language. 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.
Wren is open source under the MIT license with the source available on GitHub. You can also try out the wren language in your browser using this handy site. You can learn more about wren in the video below.