Przejdź do głównej zawartości

📜 Externum

🧪 Zobacz animowane wyniki testów — 120/120 →

Externum v3.0 "Sentient" — własny, w pełni funkcjonalny język programowania, który łączy czytelność Pythona, wydajność kodu binarnego i kontrolę systemu Basha w jednym paradygmacie.

Externum = Python_readability ⊕ Binary_performance ⊕ Bash_control

Jedno źródło (.ext) kompiluje się jednocześnie do trzech targetów: Python, Bash i reprezentacja binarna — a tryb run wykonuje program wprost. Dostępny jest też REPL, system modułów z własną biblioteką standardową napisaną w Externum.

✨ Co potrafi

ObszarWsparcie
Typy danychlisty, słowniki, krotki, zbiory (w tym wielolinijkowe), f-stringi, 0b/0x
Przepływif/elif/else, while, for ... in (wielozmienne), break/continue, try/except/else/finally, with, assert
Funkcjedomyślne parametry, *args/**kwargs, rekurencja, lambdy, domknięcia, generatory (yield)
OOPklasy, dziedziczenie, metody, self
Modułyimport, własne moduły .ext, biblioteka standardowa
Wyrażeniapełny priorytet operatorów, bitowe & | ^ ~ << >>, ternary, comprehensions
Shellbash inline `cmd` i bloki %% ... %%
NarzędziaREPL, 3 targety kompilacji, argv

🚀 Szybki start

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

externum --version # Externum 3.0.0

# Uruchom program
externum run examples/pokedex.ext

# Interaktywna powłoka
externum repl

🕹️ Wypróbuj na żywo

Poniższy playground wykonuje Externum w całości w Twojej przeglądarce — transpilator (napisany w Pythonie) działa przez WebAssembly (Pyodide), bez żadnego serwera. Kliknij ▶ Run i patrz, jak program się wykonuje:

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

📚 Standardowa biblioteka (w Externum)

ModułZawartość
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

🗺️ Dokumentacja