Fit
Jump to navigation
Jump to search
Fit is an esoteric programming language by User:Madk which uses numbers in base 5 (termed 'fits') to compute things. Each fit contains a number from -2 through +2 inclusive.
Commands
+ rotate current fit digit; -2 → -1; -1 → 0; 0 → 1; 1 → 2; 2 → -2 - rotate fit backwards ~ negate fit ( jump past the corresponding ) if the current cell = 0 ) jump back to matching ( if the current cell is ≠ 0 { jump past matching } if the cell is ≥ 0 } jump back to { if the cell is < 0 [ jump past matching ] if the cell is ≤ 0 ] jump back to [ if the cell is > 0 / jump past matching \ if the cell is ≠ 0 \ jump back to / if the cell is = 0 ? skip the following instruction if the current cell is = 0 ! skip the following instruction if the current cell is ≠ 0 ^ skip the following instruction if the current cell is > 0 v skip the following instruction if the current cell is < 0 = destroy the current cell, following cell takes place under the pointer and all following cells are shifted left once to fill the gap < move cell pointer left > move cell pointer right _ set the ASCII byte counter to 0 , add the current ternary cell to the ASCII byte counter ; output the ASCII byte counter, which is always 59 (the ASCII value for the character ;) at program start n output a newline . output the number under the pointer : get input for the number under the pointer # begin/end comment
Examples
Hello, world!
++,,,,,,-,;_+,''',,,,,'+,-'-,;,+,,,;;,-,;_+,''',,,';_,'''';''+,,,,+,;-,,,,;-,-,;++,,,;,,,,;_-,''''-,;
Cat
+[>:.n<]
Quine
;
Computational class
Fit is turing-complete by reduction from Boolfuck, which reduces from its parent language brainfuck.
Boolfuck function | Fit commands |
---|---|
> |
> |
< |
< |
+ |
[--]+ |
[ |
( |
] |
) |
* : Equivalent control flow