JAJL (Just Another Janky Programming Language) is a programming language
designed for those who feel jaded about traditional ones.
Features
No variables. Instead, you work with memory addresses (from 0000
to ffff).
That's 2^16, or 65,536 memory addresses.
Only a few basic data types:
Signed and unsigned integers
Functions
Signed Floating-point numbers
Printing is handled with the string buffer, a register that holds a
string. You add to it by modifying the aaaa memory
address to an ASCII value and running sbfr, which adds a
single character to the buffer. Do that enough times, and you can print
its contents using prnt.
Commands for debugging.
dump
Displays the value of all allocated memory addresses.
Features a pointer, another register which can be used to point to an
allocated memory address. Certain commands use the pointer to execute.
Features the stack, which can be used for push and pop
operations, just like assembly.
Support for functions:
Function definitions
Function calls
Full scoping
Functions can have their own pointer, stack, and memory.
Built-in documentation with the help command.
Has a built-in interpreter for demonstration, as well as running
scripts with the -f parameter.