Rip -- a stack-based rip language ================================= All stack items are integers, of unspecified but constant size 0-9: push value P: pop S: swap D: duplicate i: increment d: decrement r: pops the number of items to rotate clockwise R: pops the number of items to rotate anti-clockwise l: push length of stack (before this push) a s m q: + - * / (add, subtract, multiply, quotient (integer)) G L E: greater, less, equal; booleans are 1 and 0, as you expect n: not; equivalent to 0E [ ... ]: syntactical; a codeblock I: pops boolean, conditionally executing the codeblock that should follow the I, depending on the boolean (aka "if") W: I, but then "while" instead of "if" o: outputs the top value as an ascii char O: outputs the top value as a number g: gets a character and pushes the ascii value F[code]: define a function named "bla" with the body "code" : call the function named "bla" $: outputs a stackdump whitespace: nop Any error causes the interpreter to exit, saying "rip". Example code ------------ Fibonacci: 01 1W[ DO 9io D3r+ 1] Cat: gD01sEnW[ogD01sEn]