[2014-09-20 19:13] Patrick Bucher <paedubuc...@bluewin.ch>
> On 09/20/2014 02:29 PM, Francesc Hervada-Sala wrote:
> > Was haltet ihr für Wünschenswert? Wie
> > stellt ihr euch das Programm vor? Mit welchen Funktionen, welchem
> > Design? Ihr könnt das Ganze umreißen oder auch gern einzelne Aspekte
> > herauspicken, die euch wichtig sind.
> 
> Ich wünsche mir ein typisches UNIX-artiges Programm, dass mit 
> Standard-Input/Output funktioniert. Ich habe eine Ausgangsdatei im 
> Universaltext, dann z.B. eine HTML- oder LaTeX-Datei (bzw. einen 
> entsprechenden Standard-Input) mit entsprechenden Selektoren, womit die 
> Inhalte aus dem Universaltext in den Output "gezogen" werden sollen.
> 
> textengine -i template.html notizen.txt > notizen.html # HTML erzeugen
> textengine -i template.tex notizen.txt > notizen.tex # LaTeX erzeugen
> textengine notizen.txt '[Selektoren]' | less # zum Lesen am Bildschirm

Ich bin mir nicht so sicher, ob ich die Textengine als Unix-Tool,
das aus der Shell aufgerufen wird, verstehen will. Fuer mich waere
es wohl eher *eine Shell*.

Die Shell ist die Kommunikationsschnittstelle. Sie gibt vor wie
wir mit dem System interagieren koennen. Genau da sehe ich die
Textengine.

Ein ganzes Betriebssystem laesst sich kaum aufbauen, aber wenn wir
eine Shell entwickeln, dann koennen wir den groessten Teil der
sichtbaren Haut des Betriebssystems (insbesondere wie damit zu
interagieren ist) designen. Das ist eine Abstraktionsebene.

Wenn ein hierarchisches Dateisystem nicht zum Modell der
Textengine passt, dann in der Textengine-Shell vollkommen
unsichtbar sein, dass im Hintergrund alle Daten doch irgendwo im
hierarchischen Dateisystem liegen. Die Textengine kann uns dann
eine Computerwelt ohne Dateien, nur mit einem grossen dynamischen
Wissensschatz, praesentieren.

Ich habe es so verstanden, dass der Universal-Interpreter so eine
Shell ist. (Shell im Sinne von einem interaktiven Ein-/Ausgabe-
Interpreter.) Allerdings war beim Universal-Interpreter alle
Datenhaltung nur fluechtig im Arbeitsspeicher, ein persistentes
Backend (d.h. FS oder DB) hat gefehlt.

Shells kann man allerdings jederzeit auch als Interpreter aufrufen,
wobei Stdin und Stdout den Anweisungen und ihrer Ausgabe
vorenthalten sind. Die Daten werden von den Anweisungen gelesen
und geschrieben. Z.B.

        $ ksh <<! >/dev/null 2>&1
        sort <foo >bar
        !
        $

So wird in einer beliebigen Shell die `ksh' als Interpreter
aufgerufen; die Ausgabe wird ignoriert. Aus `foo' werden Daten
gelesen; nach `bar' werden Daten geschrieben.

Wie mir gerade bewusst wird, waere dein Anwendungsfall, Paedu,
ebenfalls mit einbegriffen. Auf diese Weise koennte man die
Textengine nutzen ohne die Unix-Welt zu verlassen.

Gleichfalls koennte man die Shell aber auch interaktiv verwenden
(sogar als Login-Shell, ggf. fuer einen zweiten Nutzeraccount).
Und dann tritt man durch die Tuer aus der Unix-Welt in die Welt
des Universellen Textes. :-)

Ja, ich denke so stelle ich mir die Textengine vor.


meillo


P.S.
Gerade stolperer ich ueber den Begriff ``Textengine'' im Gegensatz
zum ``Universal-Interpreter''. Francesc, kannst du bitte nochmal
erklaeren worin du den Unterschied und die jeweilige Ausrichtung
siehst?

Reply via email to