Software zur VorlesungFür die Übungen wird scsh verwendet. Als Editor zur Bearbeitung des Scheme-Quellcodes wird XEmacs empfohlen. Die benötigte Software ist auf den Rechnern des WSI bereits installiert. ScshScsh , die Scheme-Shell, ist ein Scheme-Interpreter, der sich besonders für systemnahe Programmierung eignet. Für die Übung wird die Version 0.6.6 verwendet. Für viele UNIX-Systeme gibt es bereits vorkompilierte Versionen . Concurrent-ML-API in SunterlibSunterlib ist eine Bibliothek für scsh. Unter anderem enthält Sunterlib auch eine Implementierung der Concurrent-ML-API. Benötigt wird die aktuelle Version 0.6, die hier zum Download bereit liegt . Diese Version setzt das Installations-Tool von Michel Schinz voraus. Alle benötigten Pakete sind auf den Rechnern des WSI bereits installiert. Die Moduldefinitionen für die Concurrent-ML-Module von Sunterlib können gleich beim Start von scsh mitgeladen werden: [0 knauel@midgard ~] scsh -lel cml/load.scm Welcome to scsh 0.6.6 (King Conan) Type ,? for help. > ,open threads rendezvous rendezvous-channels Load structure rendezvous (y/n)? y Load structure rendezvous-channels (y/n)? y > (hier kann's losgehen) Um Sunterlib auf dem heimischen Rechner zu installieren, müssen die folgenden Schritte durchgeführt werden: Install-lib und Sunterlib herunterladen # wget http://lamp.epfl.ch/~schinz/scsh_packages/scsh-install-lib-1.0.0.tar.gz # wget http://savannah.nongnu.org/download/sunterlib/sunterlib-0.6.tar.gz Installation # tar xvzf scsh-install-lib-1.0.0.tar.gz # cd scsh-install-lib-1.0.0/ # ./install.scm # cd .. # tar xvzf sunterlib-0.6.tar.gz # cd sunterlib-0.6/ # scsh-install-pkg --prefix <PFAD><PFAD> ist zum Beispiel /usr/local/lib/sunterlib Nun muss noch in die Environment-Variable SCSH_LIB_DIRS auf den Pfad der Installation gesetzt werden (der Pfad steht in der Ausgabe von scsh-install-pkg). Verwendet ihr zum Beispiel die Bash-Shell, müsst ihr eure ~/.bashrc im Home-Verzeichnis folgendes hinzufügen: export SCSH_LIB_DIRS='"/usr/local/lib/sunterlib/0.6"' Für die (T)CSH lautet die Einstellung in der ~/.cshrc : so: setenv SCSH_LIB_DIRS='"/usr/local/lib/sunterlib/0.6"' Toy WindowToy Window ist auf den FreeBSD-Rechnern des WSI installiert und wird beim Start von scsh mit dem folgenden Kommando gleich geladen: scsh -lel cml/load.scm -lel heap-images/load.scm \ -lel scx/load.scm -lel toy-window/load.scm Nun können die einzelnen Module geöffnet werden. Für die meisten Toy-Window-Programme sind es die folgende Module: ,open threads rendezvous rendezvous-channels rendezvous-async-channels ,open toy-geometry toy-display-system toy-window-system Eine Übersicht über das Toy-Window-System wird in der Vorlesung gegeben. Hier findet sich die API-Referenz als PDF-Dokument und direkt zum nachlesen . XEmacs und scshScsh funktioniert am besten innerhalb eines XEmacs-Editor-Fensters.
Dazu sollte die Zeile Dort sind die Befehlszeilen beliebig editierbar; außerdem zykeln M-p und M-n durch vorherige Zeilen. Zusätzlich ist es möglich, von einem Puffer im Scheme-Modus (in dem sich i.d.R. Dateien mit der Endung .scm automatisch befinden) Code-Stückchen an den Scsh-Prozeß zu schicken. C-c l lädt eine Datei in Scsh. C-c e schickt den Top-Level-Ausdruck, in dem der Cursor steht, an Scsh. C-c r schickt die momentan markierte Region an Scsh. C-c z wechselt zum Scsh-Puffer. Einige weitere Tastenbelegung sind unter C-h m dokumentiert. XEmacs-DokumentationDie XEmacs-Dokumentation kann jederzeit direkt im XEmacs mit C-h i gelesen werden. Die Dokumentation findet sich auch hier . |
|
Eric Knauel
|