Mein ed(1)-Toolset: Ein tiefer Einblick in die Welt der ed(1)-Implementierungen

2025-09-24

Artyom Bologov, ein selbsternannter ed(1)-Enthusiast, teilt seine Sammlung von ed(1)-Implementierungen und -Skripten. Er verwendet ed(1) ausgiebig als Git-Editor, sudo-Editor und sogar als statischen Website-Generator. Sein Toolset umfasst GNU ed, OpenBSD ed (oed), eine modernisierte Version namens wed(1), ein benutzerfreundlicheres aed(1) und xed(1) zum Erstellen von Skripten. Diese Tools beheben die Einschränkungen von ed(1), wie z. B. die fehlende Skriptunterstützung und die mangelnde Benutzerfreundlichkeit, und behalten gleichzeitig die Portabilität auf verschiedenen Systemen bei. Er hat sogar ed(1)-Implementierungen in Brainfuck, BASIC und Modal erstellt – ein Beweis für sein Engagement. Bologov endet damit, die Leser zu ermutigen, ed(1) anzunehmen und zu lieben.

Mehr lesen
Entwicklung

Gegen benutzerdefinierte Lisp-REPLs: Nutzen Sie native REPLs und praktische Tools

2025-08-20

Der Autor kritisiert benutzerdefinierte Lisp-REPLs (wie CIEL) und argumentiert, dass sie die Leistungsfähigkeit und Anpassbarkeit nativer REPLs opfern, wie z. B. native REPL-Befehle, Implementierungs-Debugger und die Möglichkeit, Anpassungen über Implementierungs-APIs vorzunehmen. Der Artikel beschreibt detailliert, wie native REPLs mit Tools wie der Trivial Toplevel-Bibliothek und rlwrap verbessert werden können, einschließlich benutzerdefinierter Eingabeaufforderungen, Befehle, Reader-Makros und der Abhängigkeitsverwaltung mit ASDF. Der Autor plädiert für die Verwendung nativer REPLs in Kombination mit praktischen Tools für eine hocheffiziente und personalisierte Lisp-Entwicklungsumgebung, anstatt sich auf "batteries-included" benutzerdefinierte REPLs zu verlassen.

Mehr lesen
Entwicklung

ed(1) als statischen Website-Generator: Ein ungewöhnliches Experiment

2025-05-31

Artyom Bologov beschreibt seine ungewöhnliche Erfahrung, eine statische Website mit dem alten Texteditor ed(1) zu erstellen. Er hat verschiedene Methoden ausprobiert, von Lisp bis zum C-Präprozessor, und sich schließlich für ed(1) als seinen statischen Website-Generator entschieden. Obwohl ed(1) Einschränkungen hat, wie z. B. das Fehlen von Dateieinbindung, ermöglicht seine Flexibilität eine benutzerdefinierte Syntax und die Verarbeitung älterer Präprozessorformate. Er verwendet ed(1)-Skripte für die Vorverarbeitung und die Formatkonvertierung und unterstützt mehrere Ausgabeformate (txt, gmi, 7, tex usw.). Obwohl dies keine empfohlene Vorgehensweise ist, zeigt der Artikel das unerwartete Potenzial von ed(1) und den einzigartigen Ansatz des Autors zur Textverarbeitung.

Mehr lesen
Entwicklung

Die hässliche Wahrheit über Lisp-Einrückungen

2025-01-19

Lisp-Programmierer streiten seit langem über den besten Einrückungsstil. Dieser Artikel untersucht verschiedene Ansätze, darunter keine Einrückung, funktionsorientierte Einrückung, leerstellenfüllende Einrückung und die kontroverse "kranke" Makro-Einrückung des Autors. Funktionsorientierte Einrückung wird bei tief verschachteltem Code unübersichtlich, während leerstellenfüllende Einrückung zwar effizient ist, aber in Extremfällen versagt. Der Autor befürwortet einen "kranken" Makrostil, der trotz seiner Unkonventionalität die Lesbarkeit in tief verschachteltem Code erhält und mit den meisten Einrückungswerkzeugen gut funktioniert. Leser sind eingeladen, ihre bevorzugten Stile zu teilen.

Mehr lesen
Entwicklung Codingstil Einrückung