from tocano@piefed.social to programming@programming.dev on 10 Mar 14:04
https://piefed.social/c/programming/p/1861975/what-is-uxntal-the-programming-language-for-uxn-ecosystem
cross-posted from: https://piefed.social/c/uxn_computing/p/1854047/what-is-uxntal-the-programming-language-for-uxn-ecosystem
uxntal is the programming language for the uxn virtual machine.
uxntal is a concatenative language, which works like a pipeline of functions which take the result from the previous function, apply a transformation, and return the value to the next operation. “[T]here are no precedence rules, the calculations are merely performed in the sequence in which they are presented”.
In concatenative languages the block
mul(add(x, y), z)could be written asz x y add mul. Each function takes its parameters from a common data structure, which in this case is a stack, and data types are dynamic, but may be infered with dev tools.A stack is a data structure where values are “pushed” / added on top of the stack and “popped” / removed from the stack. Operations will always be applyed on the top element(s).
In uxntal you work with bytes (8 bits) and shorts (16 bits), usually in hex notation, and you have some basic stack operators.
- LIT, push a value to the stack
- POP, pop a value from the stack
- DUP, copy a value from the stack
(so the program) LIT 00 DUP(would end up with a stack) 00 00
(and adding a POP) LIT 00 DUP POP
(would remove the last element) 00
#programming
threaded - newest
very cool for its own sake, but does it have anything it adds that is new or might be useful?
Hey, as I say in another post:
from: wiki.xxiivv.com/site/devlog.html
java was right all along! hail the JVM