rename
Jump to navigation
Jump to search
rename is an esoteric programming language created by Claudio Calvelli, maintainer of CLC-INTERCAL, in 2010. It relies on a form of self-modification for control flow.
Instructions
hex source description code code 00 (blank line) Execute the next opcode 01 PUSH Push the next opcode to the stack (as a character) 02 POP Discard the top of the stack 03 COPY Duplicate the value on top of the stack 04 APPEND Append the next opcode to the top of the stack (string) 05 INPUT Reads one character from standard input, push to the stack 06 OUTPUT Prints (and discards) the top of the stack 07 SWAP Swap the two values on top of the stack 08 ALTER Pop a string from stack; copy it to program memory after this opcode (this ALTERs the program) 09 ADD Pop a number, add it to new top 0A SUBTRACT Pop a number, subtract it from new top 0B MULTIPLY Pop a number, multiply new top by this value 0C DIVIDE Pop a number, divide new top by this value 0D NEGATE Negate number on top of stack 0E CONCATENATE Pop top of stack, append it to new top (string) 0F RENAME Add the next opcode to every single opcode in the program (with wraparound, so 200 + 57 == 1) 10-13 reserved (I know what I want here but I'm not telling yet) 14 ARGUMENT Push next command line argument to stack 15 COUNT Push number of command line arguments remaining 16 DEPTH Push the number of stack elements to stack 17 ROTATE Pops two numbers n, m. Rotate the topmost n elements by m 18 OROTATE Same as rotate, but uses next two opcodes as n, m 19 DIG Pops a number(*) n. Duplicates n-th topmost element to top 1A ODIG Same as dig, but uses next opcode as n 1B-FF reserved
External resources
- The announcement on alt.lang.intercal
- The first interpreter (note: no guarantees the site is accessible at any time, but it's the only know copy)
- A hello world program (same note as previous link)