GotoStart

From Esolang
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.