Rip -- a stack-based rip language ================================= All stack items are signed bigints. 0-9: push value P: pop S: swap D: duplicate i: increment d: decrement r: pops the number of items to rotate anti-clockwise R: pops the number of items to rotate clockwise l: push length of stack (before this push) a s m q M p: + - * / % ^ (add, subtract, multiply, quotient (integer), modulo, power) 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 'c: pushes the ascii value of c #: literally includes contents of 'file.rip' in-place Any error causes the interpreter to exit, saying "rip". Example code ------------ Fibonacci: 01 1W[ DO 9io D3ra 1] Cat: gD0dEnW[ogD0dEn]