Gurling

From Esolang
Jump to navigation Jump to search
Gurling
Designed by User:Skyraiderr5
Appeared in 2025
Computational class Unknown
Reference implementation [1]
Influenced by Python, Flug
This is still a work in progress. It may be changed in the future.

Gurling is an programming language with global variables and modular libraries. It is an interpreted language

Language description

Gurling is a Python-inspired language designed for experimentation and learning about interpreters. It uses a modular library system, with libraries loaded via the include statement.

The language supports variables (all global), function definitions, expressions, conditional statements (if/else), and while loops. Other loop types are not supported.

Comments start with # and extend to the end of the line.

Libraries

This section is still a work in progress. It may be changed in the future.

Gurling comes with three standard libraries:

Library Description
io Input/output functions, including prn, instr, and innum.
cast Type conversion functions: int, flo (float), and str.
objects Data types and operations: list, tuple, set, dict, and helpers like len, get, append, and keys. There's also add and remove as set operators
time Time functions: sleep is the only one currently and its just the Python time.sleep().

Quirks

  • All variables are global.
  • Only while loops are available; no for or do-while loops exist.

Examples

This section is still a work in progress. It may be changed in the future.
Example Output Description
include io; io.prn("Hello, World!"); Hello, World! Classic Hello World program

Computational class

  • Gurling is likely Turing-complete, thanks to user-defined functions and while loops.
  • All variables are global, which affects scoping and program structure.
  • Lacks advanced looping constructs like for, limiting some iterative patterns.
  • Because of these limitations, it is not formally known whether Gurling is Turing-complete.

Implementations

  • The official interpreter is written in Python by the language creator. No other interpreters exist.

It is being hosted on GitHub at https://github.com/skyraiderr5/gurling

External resources

This section is still a work in progress. It may be changed in the future.

Ideas for libraries should be in the talk page