Skip to main content

πŸ“œ Externum

πŸ§ͺ View animated test results β€” 120/120 β†’

Externum v3.0 "Sentient" β€” a fully functional programming language of our own that fuses Python's readability, binary performance and Bash's system control into one paradigm.

Externum = Python_readability βŠ• Binary_performance βŠ• Bash_control

One source file (.ext) compiles to three targets at once: Python, Bash and a binary representation β€” and the run mode executes the program directly. There is also a REPL, a module system and its own standard library written in Externum itself.

✨ What it can do​

AreaSupport
Data typeslists, dicts, tuples, sets (including multi-line), f-strings, 0b/0x literals
Control flowif/elif/else, while, for ... in (multi-variable), break/continue, try/except/else/finally, with, assert
Functionsdefault parameters, *args/**kwargs, recursion, lambdas, closures, generators (yield)
OOPclasses, inheritance, methods, self
Modulesimport, own .ext modules, standard library
Expressionsfull operator precedence, bitwise & | ^ ~ << >>, ternary, comprehensions
Shellinline bash `cmd` and %% ... %% blocks
ToolingREPL, 3 compile targets, argv

πŸš€ Quick start​

git clone https://github.com/BartoszOsiej/externum.git
cd Externum
pip install -e . # Python 3.10+

externum --version # Externum 3.0.0

# Run a program
externum run examples/pokedex.ext

# Interactive shell
externum repl

πŸ•ΉοΈ Try it live​

The playground below executes Externum entirely in your browser β€” the transpiler (written in Python) runs through WebAssembly (Pyodide), with no server at all. Click β–Ά Run and watch the program execute:

Live Externum Playground

Externum v3.0 executes in your browser β€” Python via WebAssembly (Pyodide). No server.

program.ext
output
β€” output appears here β€”
Runtime not loaded yet.The compiler runs entirely client-side. Compiled target: python

πŸ“š Standard library (in Externum)​

ModuleContents
structsStack, Queue, Counter
stringsreverse, is_palindrome, slugify, word_count, capitalize, truncate
mathxclamp, is_even, gcd, fib, factorial, sum_of_digits
fsread_file, write_file, append_file, file_exists, list_dir

πŸ—ΊοΈ Documentation​