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.
INDIGO
Jump to navigation
Jump to search
INDIGO is an esolang created as it was named after its 6 primary concepts: Increment, Next, Define, If, Goto, and Output. The language was inspired by Lisp, though it has many different features.
Syntax
Any INDIGO program will always have a bracket-based syntax, similar to Lisp. However, the commands are different, there are no lists, and the source code remains uneditable. The only variable types are integers, arrays, and characters.
Features
| Function | Arguments + Action |
|---|---|
| def | name, args : define function |
| set | cond, block : set variable |
| inc | var : increment |
| dec | var : decrement |
| add | var, var : add (also can be +) |
| sub | var, var : subtract (also can be -) |
| mul | var, var : multiply (also can be *) |
| div | var, var : divide (also can be /) |
| mod | var, var : modulo (also can be %) |
| con | cond, block : conditional |
| whi | cond, block : while |
| pri | var : print |
| inp | var : place input in |
| got | name, args : goto |
| nex | var : next (can either inc or dec, depending on where var is relative to number in condition) |
| hal | var/int : halt with value |
Examples
Hello World
(pri "Hello world!" hal 0)
Fizzbuzz
(set x 1
whi (< x 100) (
con (= (% x 3) 0) (
pri "Fizz")
con (= (% x 5) 0) (
pri "Buzz")
con (= & (= (% x 5) 0) (= (% x 3) 0) F) (
pri x)
nex x)
hal x)