We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Jott

From Esolang
Jump to navigation Jump to search

(This is a just a quick intro to Jott, an esoteric programming language)


Jott uses two characters of your choice.

To tell which character is which, before starting your code, you must have a () with [char #1] [char # 2] inside of it.

For example:

(. ) (.-) ( =) (_,) (xo)

etc.


The first character will be called "1C" and the second character will be called "2C" so I don't have to write First or Second Character a bunch of times


There are "sections" and "groups" in your code.

A group is a command, made up of the 1C repeated an amount of times, followed by the 2C:

(.-)

..- <- 1 group

..-...-.- <- 3 groups


A section is a group of 7 groups:

...-..-.-.-..-....-.-


You can also have no 1C in between groups:

---.--..-.-


Depending on the position of a group in a section, it will do a different command. It uses a cell/tape system, similar to Brainfuck

group 1 = increment current cell by [#]

group 2 = decrement to current cell by [#]

group 3 = go to next cell [#] times

group 4 = go to previous cell [#] times

group 5 = if cell value < or = 0 branch to group 1 of section [#]

group 6 = output cell [#] times

group 7 = ask for user input if cell value > [#] and set cell value to ascii value of input (the greater than part may change)

You get the [#] from the amount of C1 in the group


Hello World program, untested:

(.-)

........................................................................-----.- (H)

--.----- (next)

.....................................................................................................-----.- (E)

--.----- (next)

............................................................................................................-----.- (L)

--.----- (next)

............................................................................................................-----.- (L)

--.----- (next)

...............................................................................................................-----.- (O)

--.----- (next)

................................-----.- ([space])

--.----- (next)

.......................................................................................-----.- (W)

--.----- (next)

...............................................................................................................-----.- (O)

--.----- (next)

..................................................................................................................-----.- (R)

--.----- (next)

............................................................................................................-----.- (L)

--.----- (next)

....................................................................................................-----.- (D)