Programmiersprache
Stand und Roadmap
Wo Praxis steht, was als Nächstes kommt, und was vor 1.0 zu erwarten ist. Stand 19. Oktober 2026.
Phasen
Seit dem 12. Oktober gibt es eine einzige Roadmap für alles im Repository — Praxis, prx, die Bibliotheken, WebGlue und Lictor — und Lictor treibt sie an. Am 17. Oktober wurden die Phasen in die Reihenfolge umnummeriert, in der sie laufen.
- 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.61, bis 12. Oktober) — Linter, Dialyzer-Anbindung, das Spec-System, Dokumentation in fünf Formaten, der MCP-Server und wie idiomatisches Praxis aussieht, ein Debugger, Performance-Arbeit, Supervision unter Node, ein Namespace
result. Das Einfrieren der Sprache mit v0.56. - FertigPhase 6, Lictor von außen nach innen: M35, Lictor liefert seine Website aus (v0.62, 13. Oktober), und M36, Registrierung per Einladungslink (v0.63, 19. Oktober).
- In ArbeitPhase 6, als Nächstes: M37, Anmelden und angemeldet bleiben — OAuth2 mit einem eigenen Autorisierungs- und Token-Server in Lictor, ein zweiter Faktor per TOTP, ein Refresh-Token. Danach ein Twitch-Konto verknüpfen, einen Kanal wählen, die Moderationsansicht, darin handeln, Historie und Notizen, Moderation im Team, eine Plugin-Laufzeit mit Logos in Praxis, und produktionsreif.
- GeplantPhase 7, Vervollständigung von unten nach oben — jede Schicht auf ihre eigene Spezifikation gebracht, über das hinaus, was Lictor brauchte, darunter WebGlue vollständig.
- GeplantPhase 8, Verteilung —
prx publishund ein Paket-Register, die Stabilitätszusage für die Sprache und die Installation von Praxis mitasdf. Erst danach steht 1.0 überhaupt zur Diskussion. - GeplantPhase 9, Praxis öffentlich, in einer stabilen Version — dort wird 1.0 erklärt, wenn überhaupt.
- GeplantPhase 10, Octavo — die Buch-Werkzeuge in Praxis, fertig, bevor ein Buch fortgesetzt wird. Die erste Stufe,
fountundplaten, ist erledigt. - GeplantPhase 11, die Bücher — das Tutorial in fünf Teilen, gegen eine Sprache, die sich nicht mehr bewegt. Die Vorbereitung (v0.58) und Teil I (v0.59) entstanden früh; Teil II ruht.
- GeplantPhase 12, die Aufteilung — jedes Projekt außer Praxis in einem eigenen Repository, und die Elixir-Bibliotheken durch ihre Praxis-Versionen ersetzt.
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 viermal bewusst aufgehoben, jedes Mal schriftlich festgehalten:
seq?undany?für Specs, die Charlist~c"…", Keywords in Anführungszeichen, unddef-mitdefmacro-. Fehler werden weiter behoben. - Was nicht angefordert ist, kommt nicht jetzt. Bis Lictor produktionsreif ist, wächst eine tiefere Schicht nur, wenn eine seiner Etappen es braucht; der Rest wartet auf Phase 7.
- Die Werkzeuge bewegen sich noch. Befehle, Flags und die Einbindung von Plugins können sich zwischen Releases ändern, bis zur Stabilitätszusage in Phase 8.
- 1.0 wird erklärt, nicht terminiert: wenn es zwei Ziele, die Werkzeuge, Lictor im Betrieb, 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 neues Projekt deklariert sein Test-Plugin und den Formatter als Hex-Pakete, und keines davon ist bisher veröffentlicht: Außerhalb des Repositorys kann
prx testsie erst ab Phase 8 holen.
Ausprobieren
Noch nicht. Nichts ist veröffentlicht: kein öffentliches Repository, kein Paket, kein Installer. Genau dafür ist Phase 8 da, und diese Seite wird es sagen, sobald es so weit ist. Bis dahin zeigt die Sprachreferenz, was man schreiben würde.