Wi is a small, fast, embeddable, prototype-based scripting language
obj_person := object { name: ""; greet: |self| => std::puts("Hello, ${self.name}!"); }; slava := new obj_person { name: "Slava"; }; slava->greet(); // Hello, Slava!
- Wi is small. The entire implementation is under 15,000 lines of code.
- Wi is fast. Single-pass compilation to bytecode with compact value representation. You can check out the benchmarks.
- Wi is simple. You can pick up the syntax and standard library in under a week from the documentation.
- Wi is prototype-based. No classes – just objects. You can clone or merge them to build new ones.
Notes
This programming language was created by me, and only me – a single person. It's in beta, because I'm still designing it and breaking syntax changes are to be expected. The standard library is not something mind-blowing, but it's useful. Other than the API, the code is not heavily commented. Some parts may still need polish, and I'm very open to suggestions – if you have one, open an issue!No AI was used in the development of Wi – only me, my horrendous laptop, my favorite book (Crafting Interpreters), and tons of Googling.
This website is still work-in-progress.
