A minimal stack based language using reverse polish notation.
- Arithmetic operations:
+ - * / % - Control flow: loops and conditionals
[Arithmetic]: consumes two numbers and adds the result on the stack4 1 - -> [3][number]: add a number to the stackdup: duplicate top of stackswap: swap top two of the stackdrop: drop top of stackprint: print top of stack (consumes top of stack)if-[cmp] ... else ... end-if: consumes top two of stack for comparison and executes left or right based on result.loop-[cmp] ... end-loop: consumes top two of stack before each loop for comparisonproc:[name] ... end-proc: defines a procedure, it can be called using[name][cmp]: can be one ofeq,neq,lt,gt,leq,geq