joetjen.net
EN DE
Programmiersprache

Stand und Roadmap

Wo Praxis steht, was als Nächstes kommt, und was vor 1.0 zu erwarten ist. Stand 19. Oktober 2026.

In Entwicklung · v0.63

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; prx mit 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 publish und ein Paket-Register, die Stabilitätszusage für die Sprache und die Installation von Praxis mit asdf. 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, fount und platen, 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? und any? für Specs, die Charlist ~c"…", Keywords in Anführungszeichen, und def- mit defmacro-. 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 test sie 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.