Fingerfuck
Jump to navigation
Jump to search
| Designed by | EvilRodentOfEvil |
|---|---|
| Appeared in | 2025 |
| Computational class | Unknown |
| Reference implementation | Unimplemented |
| Influenced by | QO, Brainfuck |
Fingerfuck is a poor quality esoteric programming language inspired by QO and Brainfuck, made by EvilRodentOfEvil
Language overview
Fingerfuck has two stacks—handA for integers and handB for ASCII characters—and a two-cell fingers tape (cell 0 integer, cell 1 ASCII) that a pointer can reference and manipulate. Values are popped off the front of the stack, but are pushed onto the back
Commands
| Command | Description |
|---|---|
| / | pop handA, push handA |
| \ | Move to the next memory cell |
| ( | Move to the previous memory cell |
| ) | Add 1 to the current memory cell |
| : | Subtract 1 from the current memory cell |
| ; | Jump to execution index at E with a length of N |
| $ | If current memory cell equals to E with a length of N, jump to execution index at I with a length of B |
| & | If current memory cell is not equal to E with a length of N, jump to execution index at I with a length of B |
| ~ | Print character with code equal to the current memory cell value to console |
| . | Write console input into the current memory cell |
| , | set pointer to input |
| + | increment pointer |
| - | decrement pointer |
| " | swaps between code and label mode |
| ^"LABEL" | starts a goto with the provided label |
| v"LABEL" | goes to the goto with the provided label |
| { | sets the pointer to one if the top two values of handA are equal and zero if not, pops top two values |
| } | sets the pointer to one if the top two values of handB are equal and zero if not, pops top two values |
| [ | jump past the matching "]" if the cell under the pointer is 0 |
| ] | jump back to the matching "[" if the cell under the pointer is nonzero |
| ' | swaps between code and comment mode |
| a-z A-Z !? | pushes char onto the hand associated with the current finger |
Examples
Hello, World!
This program prints out the words Hello World!:
~ 'switches pointer to middle' H;e;l;l;o;!-;W;o;r;l;d;!; 'pushes Hello World! to handB' &.&.&.&.&.&.&.&.&.&.&.&. 'prints Hello World!'