Lisp in Perl

perlcamel

Vor einigen Jahren habe ich mich etwas genauer mit Perl beschäftigt. Da ich von der Leidenschaft her ein LISPler bin, kam ein Scheme-Interpreter raus, realisiert in Perl. Wer will, kann mal reinschauen, wie es gemacht ist, wahlweise auch offline im PDF-Format (gezippt, 150 KB). Wer mag, kann es runterladen (ist ebenso umsonst wie Perl). Funktioniert ab Perl 5.004.


Leseprobe:

Vorwort

Ungefähr 1976 las ich in der Zeitschrift „Spektrum der Wissenschaft“, Rubrik „Mathematische Knobeleien“, einen Artikel von Douglas R. Hofstadter, der dem geneigten Leser auf spielerische Art die Programmiersprache LISP beibrachte. Ich war geneigt. Mit dem Bleistift und unbeholfen löste ich die Übungsaufgaben. Und unbeleckt von jedem Vorwissen erkundigte ich mich sofort bei einem Thekennachbarn, Studiengang Elektrotechnik, nach einem programmierbaren Taschenrechner mit LISP ...

In der Ära der Homecomputer erschien eine LISP-Implementierung für das Wohnzimmerwunder C64. 1987 kaufte ich meinen ersten XT für sensationelle 2 Mille, Monitor grün, und selbstverständlich kam Xlisp drauf, preisgünstiger geht's nimmer. 1990 leistete ich mir eine legale Lizenz für PC-Scheme von Texas Instruments und stellte fest: Scheme ist mein Lieblingslisp. Denn es ist fix und vor allem einfach!

So einen sollte jeder haben!

Heute gibt es Perl 5 als beinahe plattformunabhängige Skriptsprache. Läuft überall, kennt kaum Speichergrenzen, kann Daten referenzieren, ist umsonst, und vor allem: es macht ungefragt einen Garbage Collect, wenn Not im Speicher ist. – Ein Perl-Programm ist – nach Aussage des Autors Larry Wall – in der Laufzeit langsamer, aber in der Entwicklung schneller als C. – Setzen wir einen drauf und sagen: Ein LISP-Programm ist in der Laufzeit langsamer, aber in der Entwicklung schneller als Perl, und wir begeben uns an die Feierabendaufgabe, LISP in Perl zu implementieren. (Nichts gegen Perl. Es ist durch und durch prima. Aber warum nicht beides?)

Dieser Text dient als Begleitlektüre für den, der den Quelltext liest oder eigene Erweiterungen vornehmen will. Er ist auch für den interessierte Laien geeignet, der reinschnuppern will. Zum Verständnis brauchen Sie, lieber Leser, etwas Vorkenntnis über die Speicherverwaltung von LISP – und Sie sollten ein bisschen Perl können.



Sämtliche Software steht beim One-Click-Hoster zum Download zur Verfügung. Bei Fragen bitte kurze Email an mich.

14.3.2022