SRB2-Yanzari
Yanzari
I'm planning to create a programming language that transpiles to SRB2 Lua and could improve mod development for SRB2.
The name is temporary. I'm still looking for a better one.
The long-term goals are:
The links above reference existing implementations or languages that inspired each feature.
I'm looking for contributors interested in compiler design, language design, static analysis, or developer tooling. Any help is welcome.
The compiler will be written in LuaJIT (or in standard Lua).
Even feedback and design suggestions are greatly appreciated.
Yanzari's Transpiled Language
The name is temporary. I'm still looking for a better one.
The long-term goals are:
- Have bytecode that can be transpiled into SRB2 Lua, albeit with obfuscated names.
- Support static typing and generics.
- Resolve modules by opening other
.ytlfiles, performing semantic analysis on their exports, and reporting an error when code uses something that is not exported. - Support static typing, with runtime asserts automatically inserted into the transpiled output.
Include avirtual machine.(planned)Supportplugins.(planned)- Provide safe member navigation: optional with
?.and required with!.. - Preserve types, interfaces, enums, and classes instead of erasing them.
- Automatically generate LuaLS annotations.
- Support
asyncusingcoroutines. - Support dictionaries, tuples, and arrays.
- Support with, switch, struct, foreach, dataclasses, and import, export, instanceof, and new.
The links above reference existing implementations or languages that inspired each feature.
I'm looking for contributors interested in compiler design, language design, static analysis, or developer tooling. Any help is welcome.
The compiler will be written in LuaJIT (or in standard Lua).
Even feedback and design suggestions are greatly appreciated.
I'm not sure if I chose the right forum. If I didn't choose the right one, I will move this thread to another forum.