
A custom programming language compiled to WebAssembly bytecode, built in Haskell in under a month.
Leviator is a school project in which we created a complete programming language from scratch in less than a month using Haskell. The challenge involved three major phases: defining the syntax, compiling to bytecode, and building an executor. What makes this project unique is our decision to target WebAssembly bytecode, allowing our language to run directly in web browsers. The language features opinionated syntax with strong typing, function polymorphism, type aliases, and comments. It supports standard control flow constructs (if/else, while loops), operators, operator precedence, and an export system for public functions. The compiler pipeline transforms source code through lexing, parsing, and code generation phases to produce executable WASM modules, demonstrating the full workflow of language design and implementation.











