joetjen.net
EN DE
Programmiersprache

Produkte

Was das Praxis-Repository außer der Sprache enthält: eine Anwendung, ein Web-Framework, die Werkzeuge, Bibliotheken und Werkzeuge für Bücher. Jedes hat seine eigene Version und sein eigenes Tag. Stand v0.63.0, 19. Oktober 2026.

In Entwicklung · v0.63

Lictor

Moderation für Live-Streamer, bei 0.2.0: Live-Chat, Moderationsaktionen, Nutzerhistorie und Abstimmung im Team an einem Ort, in Praxis auf WebGlue geschrieben und in der Reihenfolge gebaut, in der ein Nutzer ihm begegnet. Es treibt Phase 6 der Roadmap an und hat einen eigenen Bereich.

WebGlue

Das Web-Framework, auf dem Lictor gebaut wird, bei 0.8.0, eine Reihe von Paketen vom Router und der Session bis zu Sockets und Pub/Sub. Was eine Lictor-Etappe von ihm braucht, wird während dieser Etappe in WebGlue gebaut. Es hat einen eigenen Bereich.

Die Werkzeuge

Praxis — Compiler, Laufzeit und Standardbibliothek — hat eine gemeinsame Version, v0.63.0. Die Werkzeuge darum herum sind eigene Produkte:

ProduktVersionWas es ist
prx0.43.0Das Projektwerkzeug: Projektmodell, Build, Abhängigkeiten und Plugins
prepl0.22.0Der Prompt: ein geladenes Projekt und ein Ort, an dem man darin steht
prx_mcp0.47.0Der MCP-Server, mit dem Korpus der Idiome
prx_release0.20.0prx release: ein OTP-Release, zusammengestellt und paketiert
touchstone_prx0.19.0prx test: die Tests eines Projekts, gefunden und ausgeführt
weitere Pluginslint, check, doc, docset, bundle, observer, fortune, license, Shell-Vervollständigung, der Language Server und der Debug-Adapter
EditorenEine Tree-sitter-Grammatik und eine VS-Code-Erweiterung über prx __lsp

Bibliotheken

In Praxis geschriebene Bibliotheken, jede so gedacht, dass sie auch außerhalb nützt. Ein Port ersetzt das Elixir-Original innerhalb dieses Repositorys und führt dessen Versionslinie fort; das Original bleibt, wo es ist.

BibliothekWas sie ist
ichor, ichor_runtimePorts von Ichor und Ichor Runtime: Parser, erzeugt aus einer Aether-Grammatik
cooper, cooper_prxEin Port von Cooper: CASC gelesen, geprüft und einem Praxis-Programm übergeben
dextrinEin Port von Dextrin: DXN gelesen und geschrieben, als Text und binär
logger_logfmtEin Port von logger_logfmt, wie das Original bei 2.0.0
shibboleth0.1.0 — ein Passwort, aufbewahrt als etwas, das es prüfen, aber nicht zurückgeben kann
posthorn0.1.0 — Mail als Daten, zugestellt über ein Backend, und ein Entwicklungs-Postfach, das nichts verschickt
assize0.1.0 — Konformitäts-Suiten: jede Implementierung einer Spezifikation an denselben Fällen geprüft, jede Abweichung benannt
koine, *_conformanceDie Suite, gegen die Praxis und Logos laufen, und die Suiten, die jede Implementierung von CASC, DXN und Ichor an denselben Fällen messen
touchstoneDas Test-Framework: deftest, die Zusicherungen und die Generatoren
proviso, edictEine Kommandozeile und verschachtelte Befehle samt Hilfe, geparst gegen das, was ein Programm zu nehmen angibt
stetEin Formatter über einen Token-Strom — das, was prx fmt ausführt
gloss, codexEine Dokumentations-Website und ein Dash-Docset, aus dem, was der Compiler geschrieben hat
rubric, quire, stencilMarkup als einfache Daten, Markup-Text, der hineingelesen wird, und Templates, die zu Funktionen kompiliert werden
plexus, caliper, sondeEin gerichteter Graph und seine Darstellungen; Benchmarks; Telemetrie

Octavo

Die Buch-Werkzeuge, in Praxis, damit ein Buch mit nichts als der BEAM veröffentlicht werden kann: fount liest und vermisst eine Schrift, galley setzt Text in Zeilen und Seiten, platen schreibt ein PDF, und octavo liest AsciiDoc und schreibt ein Buch. fount und platen sind geschrieben und als 0.1.0 veröffentlicht; galley und octavo sind geplant, und sie fertigzustellen ist eine eigene Phase, bevor ein Buch fortgesetzt wird.

Versionen und Tags

  • Praxis wird als vX.Y.Z getaggt; jedes andere Produkt trägt seinen Namen davor, etwa lictor-v0.2.0 oder prx-v0.43.0.
  • Jeder Meilenstein ist ein Release jedes Produkts, das er geändert hat: v0.63.0 kam unter anderem mit Lictor 0.2.0, WebGlue 0.8.0, prx 0.43.0, shibboleth 0.1.0 und posthorn 0.1.0.
  • Ein Tag heißt, dass ein Produkt innerhalb des Repositorys veröffentlicht wurde. In ein Paket-Register ist noch nichts veröffentlicht; das ist Phase 8, und die Aufteilung in eigene Repositories ist Phase 12.
  • Alles steht unter Apache-2.0.