Programmiersprache
Stand und Roadmap
Wo Praxis steht, was als Nächstes kommt, und was vor 1.0 zu erwarten ist. Stand Ende September 2026.
Phasen
- FertigPhase 0–1 (v0.1–v0.8, August) — kompiliert für die BEAM; Namespaces und ein Prompt; Interop, Records und Exceptions; eine Standardbibliothek;
prxmit Abhängigkeiten und Lock-Datei; OTP-Behaviours und Releases. - FertigPhase 2 (v0.9–v0.14) — Meldungen mit Codes, ein Formatter, EEP-48-Dokumentation, ein Language Server, Editor-Unterstützung, paketierte Releases.
- FertigPhase 3, Self-Hosting (v0.15–v0.19, bis 8. September) — Compiler, Laufzeit, Parser-Generator,
prx,prepl, Cooper und Dextrin in Praxis neu geschrieben; die Elixir-Implementierung abgelöst. - FertigPhase 4, JavaScript (v0.20–v0.41) — Backends für Node und Browser, Prozesse auf allen drei Maschinen, Source-Maps, ein Remote-Prompt, Hot Module Reload, ein Optimierer.
- FertigPhase 5, Werkzeuge (v0.42–v0.60, bis 22. September) — Linter, Dialyzer-Anbindung, das Spec-System, ein Dokumentationsgenerator, der MCP-Server, ein Debugger, Performance-Arbeit, Supervision unter Node. Das Einfrieren der Sprache mit v0.56.
- In ArbeitPhase 6, das Buch — ein Tutorial in fünf Sätzen. Der erste erschien mit v0.59; der zweite (Tests, Daten, Muster, Schleifen, Sequenzen) entsteht gerade.
- GeplantPhase 7, Verteilung —
prx publishund ein Paket-Register, ein Installer und die Stabilitätszusage für die Sprache. Erst danach steht 1.0 überhaupt zur Diskussion. - GeplantNach 1.0 — Logos, neu geschrieben in Praxis.
Was zu erwarten ist
- Die Sprache ist eingefroren: Special Forms, Definitionsformen, Kern-Makros, Reader-Syntax und die Form der Standardbibliothek stehen fest. Das Einfrieren wurde eine Handvoll Male bewusst und namentlich aufgehoben, jeweils für kleine Ergänzungen.
- Die Werkzeuge bewegen sich noch. Befehle, Flags und die Einbindung von Plugins können sich zwischen Releases ändern, bis zur Stabilitätszusage in Phase 7.
- 1.0 wird erklärt, nicht terminiert: wenn es zwei Ziele, die Werkzeuge, ein Buch, einen Weg zum Veröffentlichen und einen zum Installieren gibt — und die Sprache lange genug in fremden Händen war, um ihr zu vertrauen.
- Performance wird laufend gemessen; das Ziel, insgesamt mit Elixir gleichzuziehen, ist noch nicht erreicht.
Ecken und Kanten
- Keine String-Interpolation.
- Eine arithmetische Funktion, als Wert übergeben, muss qualifiziert werden:
praxis.core/+, nicht+. - Eine Protokollfunktion wird qualifiziert aufgerufen, auch in ihrem eigenen Namespace.
- Records werden in ihrer rohen Struct-Form ausgegeben.
- Ein neu erzeugtes Projekt braucht eine händisch eingebundene Test-Erweiterung, bevor
prx testläuft.
Ausprobieren
Noch nicht. Nichts ist veröffentlicht: kein öffentliches Repository, kein Paket, kein Installer. Genau dafür ist Phase 7 da, und diese Seite wird es sagen, sobald es so weit ist. Bis dahin zeigt die Sprachreferenz, was man schreiben würde.