Die Textengine
Die Textengine ist ein in Entwicklung befindliches, experimentelles Softwaresystem im Rahmen meiner unabhängigen Forschung über den Text. Experimentiert wird hier mit dem Einsatz einer Text-Schicht als Basis für den Aufbau, das Zusammenspiel und die Integration von Softwarekomponenten.
Man könnte die Textengine als ein Programmiersystem auffassen. Nur geht es hier nicht darum, eine bestimmte Sprache zu entwickeln, sondern darum, Ausdrücke in verschiedenen Sprachen und Notationen auf ein und dieselbe Datenstruktur, nämlich auf „Text” zurückzuführen. Man könnte die Textengine auch als ein Datenbanksystem auffassen, denn hier gibt es eine strukturierte Ablage von „Text”, die sowohl Daten als auch ausführbaren Code enthält, und abgefragt werden kann. Doch in der Textengine geht es generell darum, den Text — nicht die Zeichenkette, sondern das Symbolgebilde — als Grundbaustein von Anwendungen und Daten und als universelle Schnittstelle zwischen Softwarekomponenten einzusetzen.
Einige Vorreiter haben bereits Schritte in diese Richtung getan, vor allem:
- als Entwicklungsumgebung: Unix und Plan 9
- als Programmiersprache: Lisp und Rebol
- im Datenmanagement: das Dateisystem von Unix und Plan 9, SQL, XML
Diese haben etwas richtiges und wichtiges gesehen und verfolgt, nur sind diese Ansätze jeweils zu eng gefasst und insgesamt miteinander inkompatibel. Mit dem schlichten Begriff des Textes als einer artikulierten symbolischen Figur — so meine These — ergeben sich automatisch all diese Möglichkeiten und viele mehr, und zwar in einem integrierten System. Mir schwebt nicht so sehr die Erfindung eines weiteren Programmier- oder Datenbanksystems vor, sondern vielmehr die Überholung gängiger Begriffe wie Programmiersprache, Quellcode, Datei, Dateiverzeichnis, Compiler, Anwendung, Datenbank, Laufzeitumgebung, Betriebssystem, und die Einführung eines neuen Begriffs: Textengine. Die hier entwickelte Textengine ist ein Schritt in die Richtung, die neuen Grundbegriffe zu formulieren und auszuprobieren und so zur Textforschung beizutragen.
Entwicklungsstatus
Die Software implementiert in C eine Bibliothek und eine Shell für unixbasierten Systemen. Die Bibliothek gibt programmatischen, die Shell interaktiven Zugang zur Textengine. Es ist vorgesehen, die Software unter einer Open-Source-Lizenz zu veröffentlichen.
Die aktuelle Version der Textengine (Version 0.3) implementiert den Text als Datenstruktur und die Symbolsprache als Notation. Sie ist in der Lage, Ausdrücke in der Symbolsprache als Text zu erfassen, den Text zu durchlaufen, und Texteinheiten in Symbolsprache auszudrücken. Diese Version wird in den Ausdrücken in Symbolsprache im Manuskript, beispielsweise unter Text in: Sprache, eingesetzt.
Vorhaben
Geplant ist die darauffolgende Version 0.6. Diese wird Texttransformationen unterstützen, d.h. ausführbaren Code in der Form von Texteinheiten, die im Textkorpus erfasst werden und die Textengine steuern können.
Das Entwicklungsvorhaben beschreibe ich in diesem Papier:
The Text Engine (txt pdf): This paper describes my software development project: the Text Engine. A programmable system built upon parsed text as universal interface (~45-60 min read).
Siehe auch meinen Artikel:
More Unixy Than Unix. A Text-Oriented Programmable Environment (txt pdf): This article reviews the design principle behind Unix and proposes a text-oriented software approach that further develops it and overcomes its limitations (~20-30 min read).