Therl
Truly Human Readaby Language
(Yes, the acronym is a little cursed. I know.)
Therl is a human-readable, instruction-based programming language written entirely in pure Python. Its goal is to make code read almost like plain English while remaining predictable and easy to parse.
set greeting to "hello"
func greet <name>
say greeting + " " + name + "!"
eof
func main
run greet with <name> as "Jeff"
set numbers to [1..10]
say numbers
eof
run main
Output:
hello Jeff!
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Features
- 📖 Human-readable syntax
- 📝 Instruction-based language design
- 🐍 Written entirely in pure Python
- 🔄 Strictly dynamically typed variables
- 📦 Built-in lists
- 🔢 Integer, float, string and boolean types
- 🧩 Functions with named parameters
- 📢 Simple
saystatement for output - ✏️ Mutable list elements
- 🚀 Easy to extend
Example
set greeting to "hello"
func greet <name>
say greeting + " " + name + "!"
eof
func main
say "Welcome!"
run greet with <name> as "Jeff"
set ids to [1..10]
say ids
set ids at 0 to 1000
say ids
add 10 to ids
say ids
eof
run main
Output:
Welcome!
hello Jeff!
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1000, 2, 3, 4, 5, 6, 7, 8, 9]
[1000, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Project Status
⚠️ Therl is currently in active development.
Expect missing features, breaking changes, and plenty of experimentation as the language evolves.
Roadmap
- Arithmetic expressions
- Conditional statements
- Loops
- Dictionaries / Maps
- Modules
- Classes
- Error reporting with line numbers
- Standard library
Why?
Because making programming languages is fun.
And because writing
set score to 100
add 10 to score
say score
just feels oddly satisfying.
Release files for therl 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| therl-0.1.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| therl-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.9 kB
Release files / therl-0.1.0.tar.gz
| Download URL | therl-0.1.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c022282efbb34a391af60b0d633f5e5bbe1a82b4b0d53ef8f10b0127b26ada8e
|
|
BLAKE2b-256 checksum How to use checksums |
d6dd67b6a7bad5f959c8f9d8fb736cd3172ac69c5faa78ccc1dbecebab669125
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|
Release files / therl-0.1.0-py3-none-any.whl
| Download URL | therl-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47a9ee48a591f93325f7b5596dd84f41ff59f758350787222c6b810ad899d41c
|
|
BLAKE2b-256 checksum How to use checksums |
538f873f5d553b7d369ed396d676db62fc2abadcb3c4dfbfb26af80f1c9b9613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.1
|