Backtick
| Designed by | splot.dev (User:Splot-dev) |
|---|---|
| Appeared in | 2025 |
| Computational class | Turing complete |
| Reference implementation | Backtick on Codeberg |
| File extension(s) | .backtick |
- Not to be confused with `.
Introduction
Backtick is a programming language that is interpreted, dynamically typed and procedural, and is written in Python. Backtick was invented by User:splot-dev, and can be found here. Find the full documentation here. You can find the online interpreter here (it has less features than the local version, but is good for trying out Backtick).
Its programs look something like this:
+\s>Hello >world!;;!\s
So, the programs are hard to read, but concise.
Installation
You can install Backtick through the terminal with pip:
pip install backtick
You can run files using this:
backtick run file.backtick
Syntax Overview
Backtick has a general syntax, which looks like this:
command\arg\arg\arg
An example would be:
+\v\v\v
Commands are separated with a double semicolon (;;) or a newline.
Backtick also has data types:
Number → <123 String → >string Variable → \variable
These data types are used like this:
=\variable>string =\variable<123
They act as a delimiter and a data type identifier.
Special Syntaxes
For comments, use the # character. For example:
# hello!
To escape, use the | character before the character you want to escape to make it literal.\ For example:
|>string # actually is >string ||string # actually is |string
Commands and Variables
To find all the commands, go to the documentation. There are also special variables for control flow that you need to know, and are in the documentation too.
Turing Completeness
Backtick is theoretically Turing Complete, as it supports jumping (and non nested looping, but the looping is optional - it is there for simplicity), infinite memory (although your device does have a finite amount of storage, without these constraints, Backtick has infinite memory using variables and key value commands) and data control (basic arithmetic, string concentation, string indexes, string splitting, etc).
Example
!>Backtick Number Guessing Game !>By splot.dev !>============================== &\r<1<100000;;=\c<0;;=\i>_;;=\p>_ [;;+\c\c<1;;=\p>;;!>Guess a number:;;?\i;;§\i\i>|<;;,\p>Too big!\i\r;;.\p>Too small!\i\r;;%\`l<0\i\r;;!\p;;] !>You won after this many attempt/s: ;;!\c