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.
  • **Nested loops** — Loops can appear inside functions or inside other loops.
  • **Function calls** — Functions can call other functions.
  • **Variables** — You can reuse variable names; assignment overwrites previous values.

Example with nested loops and functions:

THIS i IS 1
DOTHING countdown GONNA
    NOTAGAIN
        THINGSAY i
        THIS i IS i + 1
    TIMES IS 5
GONNAEND

countdown

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