Informatik I

Wintersemester 2005/06

Lehrstuhl für Programmiersprachen und Übersetzerkonstruktion

Vergleich DrScheme / Standard Scheme

Um die Programmierung erleichtern, weicht das DrScheme-System in einigen Punkten vom Scheme-Standard, wie er in vielen anderen Scheme-Implementierungen und Textbüchern benutzt wird, ab. Im folgenden werden die Besonderheiten von DrScheme, soweit sie in der Vorlesung benutzt werden, erläutert. Mit diesen Erläuterungen kann man die Beispiele aus der Vorlesung auch in den Scheme-Standard umsetzen.

Namen von Konstanten und Prozeduren

In DrScheme werden verschiedene Konstanten und Namen mit sinnvolleren Namen bezeichnet. Die folgende Tabelle stellt einiger dieser gegenüber.

DrSchemeStandard-Scheme
true#t
false#f
empty'()
empty?null?
firstcar
restcdr
set-first!set-car!
set-rest!set-cdr!

Strukturdefinition

In DrScheme kann man Datenstrukturen mittels der Strukturdefinition

(define-struct name (k1 ... kn))

einführen. Damit werden die folgenden Bezeichner eingeführt:

Lokale Definitionen

Falls eine lokale Definition direkt in einer anderen Definition vorkommt, wie in
(define (p x1...xn)
  (local (...Definitionen...)
    ausdruck))
dann kann das local in Standard-Scheme weggelassen werden:
(define (p x1...xn)
  ...Definitionen...
    ausdruck)
In anderen Fällen kann local in Standard-Scheme durch begin ersetzt werden.
Michael Hanus