Published Moka Math - Free multi-paradigm programming language and numeric computing environment

TIFS is an esoteric programming language created in 2018 by Daniel Forgosh. TIFS stands for Technical Immense Formulating System. It only uses periods (.) and spaces in the syntax. If code is written on different lines, it still needs a space at the end of the line to separate from the next code piece. This programming language was inspired and combines parts of a few other esoteric programming languages. It is not intended for practical use, but to challenge and amuse programmers. The TIFS language uses a simple machine model consisting of the program and instruction pointer, as well as an array of cells initialized to zero; a movable data pointer (initialized to point to the leftmost byte of the array); and two streams of bytes for input and output. Each piece of code should be separated by one space.

Code TIFS online:


Output:

Code Meaning
. increment the data pointer
.. decrement the data pointer
... ___ ___ increment data at data pointer
"...." indicates there should be an increment
Periods to indicate number of digits the number is that the data should be incremented by
Periods to indicate singular numbers of the total number that the data should be incremented by (ten periods count as 0)
Example: ... .. .... ....... this will increment the data by 47
.... ___ ___ decrement data at data pointer
"...." indicates there should be a decrement
Periods to indicate number of digits the number is that the data should be decremented by
Periods to indicate singular numbers of the total number that the data should be decremented by (ten periods count as 0)
Example: .... ... . ... ..... this will decrement the data by 135
..... output the data at the data pointer
...... accept one character of input, storing its value in the array at the location of the data pointer
....... if the data at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the matching ] command
........ if the data at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching [ command
Comments Comments can be written within the code for clarity. Comments must be separated by code with a space and may not contain any periods. All other characters besides periods will be considered a comment.