Undâr Programming Language

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


Development Timeline

Milestone Feature Status
Pre Alpha Primitive Types Done
Q16.16 fixed point Reals Todo
Arithmetic Operations Done
Memory allocator 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
Actor system 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