LargeFish
LargeFish is an esolang by User:ChuckEsoteric08 based on BigFish, which is itself based on Deadfish
Specification
LargeFish operates on infinite amount of registers which store nonnegative integers. It has the following commands:
i x - increment x d x - decrement x s x - square x o - output x e x y - set x to y loop x - loop x times endloop - end loop
Note that if you put an asterisk before y in e, or before x in loop it would return value of a register. If x has changed while executing, then the amount of times code will be executed is also changed, and if that amount is less or equal to amount of times loop has been executed it would exit the loop when endloop is encountered
Computational class
LargeFish is Turing complete since it can implement PMNN. Increasing and decreasing counters is easy, we can simply use i and d commands. To test if a register x is zero we can use register which we will call test and a loop command like that:
e test *x loop *test e test 1 endloop
It would set test to 1 if x is not zero, and to 0 otherwise
Examples
Counter
This example program counts up from inclusive one (1) to inclusive five (5):
e counter 1 e number_of_repetitions 5 loop *number_of_repetitions o counter i counter endloop
Interpreter
- Common Lisp implementation of the LargeFish programming language.