GotoStart
Jump to navigation
Jump to search
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
GotoStart is an esolang by User:ChuckEsoteric08 and is Turing complete descendant of UBLANG.
Specification
GotoStart uses registers (0-indexed) to store data. Language recuires at least 3 registers to be Turing-complete
Instruction | Description |
---|---|
+(x) |
Increment register x .
|
-(x) |
Decrement register x if it is bigger than 0.
|
=(x:y) |
Set register x to y .
|
.(x) |
Output register x .
|
?(x=y>abc) |
If registerx is equal to y execute instructions abc .Note that parenthesis should match to make nested if statements possible.
|
^ |
Go to the start of the program. |
Infinite GotoStart
Programs in this version of GotoStart always end with ^
and ^
is not allowed to appear elsewhere. Despite this, the language still remains Turing-complete.
Examples
Repeating Counter
This GotoStart and Infinite GotoStart program counts from one (1) up to inclusive three (3), and perpetually repeats the process, printing each stage to the standard output:
?(0=0>+(0).(0)) ?(0=1>+(0).(0)) ?(0=2>+(0).(0)) ?(0=3>=(0:0)) ^
Interpreter
- Common Lisp implementation of the GotoStart and Infinite GotoStart programming languages.