⎡ | ᚢ | ᛫ | ᛫ | ᛫ | ⎤ |
⎢ | ᛫ | ᚱ | ᛫ | ᛫ | ⎥ |
⎢ | ᛫ | ᛫ | ᛋ | ᛫ | ⎥ |
⎣ | ᛫ | ᛫ | ᛫ | ᚾ | ⎦ |
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 consoles, and the web using emscripten. It is the language that controls the Reality Engine a 32 bit CISC-like register-based VM written in C89.
Install
git clone https://git.alfrescocavern.com/zongor/reality-engine.git
cd reality-engine && make
./zre ./test/hello.ul
Hello World
!!
! main function
!!
function main(int argc, str[] argv) {
str name = "World";
if (argc > 1) {
name = argv[1];
}
print("Hello, {name}!");
exits("Done");
}
Philosophy
- No dynamic memory - memory is static, frame-managed, zero-initialized.
- First-class arrays - Fortran-style, row-major, fat pointers.
- Plexes - Symbolic data containers, versionable, shadowable, persistent.
- Tunnels - 9p inspired unified I/O: files, sockets, devices, APIs.
- Live coding - hot reload, REPL, runtime introspection.
Development Timeline
- Primitive Types (Substantial Plexes) - Done
- Arithmetic Operations - Done
- Strings - Done
- Functions - Done
- Display Device - Testing
- Keyboard Device - Testing
- Mouse Device - Testing
- Assembler - In progress
- Touch Device - Todo
- Webassembly Arch - Todo
- Paint program - Todo
- Alpha Release
- Fonts - Todo
- File Device - Todo
- Arrays - Todo
- Plex Implementation - Todo
- Compiler - Todo
- Local Tunnel Implementation - Todo
- String Functions - Todo
- Immediate mode UI - Todo
- Code editor demo program - Todo
- Beta Release
- Trigonometry Operations - Todo
- Unit of measure - Todo
- 3D Graphics Math/Primitives - Todo
- Gamepad/Joystick Device - Todo
- Coroutines/Yield - Todo
- 3D Collision/Physics - Todo
- Proof of concept 3D platformer - Todo
- Sound Device - Todo
- Network Device - Todo
- Networked Tunnel Implementation - Todo
- Multiplayer Proof of concept 3D platformer - Todo
- Localization - Todo
- Q16.16 fixed point Reals - Todo
- Arch without FPU (Maybe PS1?) - Todo
- Version 1.0 Release
- MMO Proof of concept - Todo
Inspired by
Uxn, Plan 9, Dusk OS, Dis VM Forth, Lisp, Fortran, C, Zig, Lua, Lox,