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.
Structures
There are mainly 3 types of structure for a language. flat, nested, and flat-nested.
Flat
Programs in flat languages can be split into a sequence of commands, the commands may have arguments, but these arguments are not automatically passed from the previous command.
Example of flat languages:
Most esolangs are flat.
Nested
Programs in nested languages are like expressions, every command has no argument or has its arguments passed from its sub-command, and usually returns a value. These languages are usually parsed recursively.
Example of nested languages:
Flat-Nested
Programs in flat-nested languages can be split into a sequence of nested commands.
Example of flat-nested languages:
- C
- Python