InfiniTick
Jump to navigation
Jump to search
Description
InfiniTick is an esolang created in 2017. It is a descendant of the Tick language. It twist is that the program runs in an infinite loop, making it hard to stop. It runs on an infinite memory of tape cells.
How the program runs
The commands are executed from the start of the tape.
>>+*>>-<- ^
When the executor reaches the end of the tape, it loops back to the beginning.
>>+*>>-<- ^<------^
Commands
Command | Description |
---|---|
>
|
Move the data selector right |
<
|
Move the data selector left |
+
|
Increment the current data cell. Truncate overflow: 255+1=0 |
-
|
Decrement the current data cell. Truncate underflow: 0-1=255 |
*
|
Add the ASCII value of memory cell at the data selector to the output stream |
&
|
Raise an error, i.e. stop the loop |
/
|
Skip the next command if the current data cell value is zero |
\
|
Skip the next command if the current data cell value is non-zero |
Examples
Hello, world!
This program outputs the message “Hello world!” once and terminates the program by aid of an error:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *+++++++++++++++++++++++++++++*+++++++**+++*>+++++++++++++++++++++++++++ +++++*<++++++++*>+++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++*+++*>++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*>++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++*>+++++++++++++++++++++++++++++++++*&
ASCII character list
The following program prints all ASCII characters in their codes' natural order, helming the termination by conditionally checking for a non-zero current cell value:
*+\&
Interpreter
- Common Lisp implementation of the InfiniTick programming language.