| ⎡ | ᚢ | ᛫ | ᛫ | ᛫ | ⎤ |
| ⎢ | ᛫ | ᚾ | ᛫ | ᛫ | ⎥ |
| ⎢ | ᛫ | ᛫ | ᛞ | ᛫ | ⎥ |
| ⎣ | ᛫ | ᛫ | ᛫ | ᚱ | ⎦ |
A statically-typed permacomputing-oriented language for the purpose of creating 1st generation style 3D games and graphical user interfaces that work on constrained systems, microcontrollers, retro systems, and the web using emscripten.
Syntax Example
/**
* C-like syntax (WIP)
*/
str msg = " damage inflicted!\n";
nat AT = 14;
nat accuracy = 150;
nat dmg = calc_damage(AT, accuracy);
print(dmg as str);
print(msg);
halt;
function calc_damage(nat at, nat accuracy) nat {
if (at < 2) { return 1; }
return at * accuracy / 20 - 3;
}
Philosophy
- More predictable memory - Memory is managed through arenas with a more deterministic garbage collector as a fallback.
- First-class arrays - Fortran-style 'true' multidimensional arrays.
- Plexes - Composable data containers.
- Tunnels - 9p inspired unified I/O: files, sockets, devices, APIs.
Development Timeline
| Milestone | Feature | Status |
|---|---|---|
| Pre Alpha | Primitive Types | Done |
| Q16.16 fixed point Reals | Todo | |
| Arithmetic Operations | Done | |
| Memory allocator/Garbage collector | In Progress | |
| Arrays | In Progress | |
| Webassembly Arch | Done | |
| Proof of concept Paint program | Todo | |
| Alpha | Display Device | Todo |
| Plex Implementation | Todo | |
| Minimal Standard Library | Todo | |
| String Library | Todo | |
| File Tunnel | Todo | |
| Beta | Fonts | Todo |
| Immediate mode UI | Todo | |
| Trigonometry Operations | Todo | |
| Unit of measure | Todo | |
| 3D Graphics Math/Primitives | Todo | |
| Gamepad/Joystick Device | Todo | |
| 3D Collision/Physics | Todo | |
| Proof of concept 3D platformer | Todo | |
| Sound Device | Todo | |
| Network Device | Todo | |
| Coroutines | Todo | |
| Networked Tunnel Implementation | Todo | |
| Multiplayer Proof of concept 3D platformer | Todo | |
| Localization | Todo | |
| Code Editor | Todo | |
| Version 1.0 | MMO Proof of concept | Todo |
| Test on Arch without FPU | Todo |
Inspired by
Uxn, Plan 9, Dusk OS, C, Forth, Lisp, Fortran, Zig, Lua, Lox, Dis VM