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 Ende September 2026.

In Entwicklung · v0.60

Phasen

  • 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.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 publish und 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 test lä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.