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.

ThingLang

From Esolang
Jump to navigation Jump to search

ThingLang

ThingLang is an esoteric programming language created by User:Rasa8877 in 2025. It is designed to be playful and readable, using English-like keywords for variables, printing, functions, loops, and comments.

Overview

ThingLang uses a minimal set of keywords and commands to perform operations. It emphasizes clarity with natural-language-like syntax while remaining fully functional for variables, loops, and functions.

Commands / Keywords

  • `THIS <name> IS <value>` — Assign a value (number or string) to a variable.
  • `THINGSAY <value>` — Print the value of a variable or a string literal.
  • `DOTHING <name> GONNA ... GONNAEND` — Define a function named `<name>`.
  • `<name>` — Call a previously defined function.
  • `NOTAGAIN ... TIMES IS <n>` — Loop over the block `<n>` times.
  • `!` — Comment; anything after `!` on a line is ignored.

Example Program

! Example ThingLang program
THIS x IS 5
THINGSAY x
THINGSAY "Hello ThingLang!"

DOTHING greet GONNA
    THINGSAY "Hello from a function!"
GONNAEND

greet

NOTAGAIN
    THINGSAY "Looping..."
TIMES IS 3

Tips & Tricks

  • **Comments anywhere** — You can place `!` comments at the start or end of any line.
  • **Function calls** — Functions can call other functions.
  • **Variables** — You can reuse variable names; assignment overwrites previous values.

Interpreter

The official interpreter is written in Python and reads `.tl` files. It supports all ThingLang syntax, including variables, printing, functions, loops, and comments.

Example usage:

python thinglang.py example.tl

References / Downloads