Die Programmiersprache Recapis

Warum eine weitere Programmiersprache?
Am Anfang der Entwicklung von Recapis standen die zwei Konsolprogramme Berechne und Bearbeite.
Das Programm 'Berechne' konnte mathematische Anweisungen auswerten z.B.
berechne.exe  "a=3;b=4;c=wurzel(a^2+b^2);$='Hypothenuse='+c;"
erzeugte die Ausgabe "Hypothenuse=5".

Das Programm 'Bearbeite' konnte Dateien bearbeiten und z.B. aus der Datei a.txt

Richard Wagner
Johannes Brahms
Robert Schumann
die Ausgabedatei b.txt erzeugen.
Wagner, Richard
Brahms, Johannes
Schumann, Robert
Die Steueranweisungen seien in der Datei sortform.reca abgelegt
scanf([vorname]' '[famname]'\n');
$=famname+', '+vorname,'\n';
und werden ausgeführt mit dem Aufruf
bearbeite.exe a.txt b.txt sf=sortform.reca

Nachdem in den beiden Programmen es wünschenswert wurde, auch Variable, Schleifen und Verzweigungen sowie Unterprogramme verwenden zu können, wurde es sinnvoll, sie zu einem Programm zusammenzuführen. Die Aufrufe ändern sich in

recapis.exe "a=3;b=4;c=wurzel(a^2+b^2);$='Hypothenuse='+c;"
recapis.exe a.txt b.txt sf=sortform.reca

Der Name

Der Name sollte kurz, leicht sprechbar und sinnvermittelnd sein. Er setzt sich zusammen aus Record (das ist im Englischen ein Datensatz in einer Datei oder eine Zeile in einer Textdatei) und Apis (das ist die lateinische Bezeichnung für die Biene). Recapis ist ein Werkzeug für die Dateibearbeitung. Dabei soll der Benutzer sich nicht um das Öffnen und Schließen, das fortlaufende Lesen der Eingabedatei sowie die Eof-Behandlung kümmern müssen, sondern er beschreibt lediglich den Algorithmus wie die einzelne Zeile bearbeitet wird. Die Idee bei dem Namen Recapis ist die Vorstellung einer Biene, die, nachdem sie weiß welche Pflanzensorte sie besuchen will, das entsprechende Progamm läd und dann an jeder Blüte die immer gleichen Arbeitsschritte ausführt. Hier das kürzeste Recapisprogramm:
$ = &
Es kopiert zeilenweise die Eingabedatei in die Ausgabedatei.

Angenommen, man möchte, dass die Ausgabe eine fortlaufende Zeilenummerierung bekommt:

recapis a.txt b.txt "$=ZNR+&"
löst diese Aufgabe.
Das Konzept der impliziten Hauptschleife ermöglicht kurze Programme, wie in den Beispielen gezeigt, und ist der Programmiersprache Edor entlehnt, die auch & für die Eingabevariable, $ für die Ausgabevariable und die Notation "$ = &" für das einfachste Programm verwendet.