Parametrisiertes Record

Neben dem normalen Record gibt es auch den parametrics-Record. Das Schema ist:

(define-record-procedures-parametric name name-of
  make-name name?
  (name-s1 name-s2 name-s3 ... name-sn))

Die Signaturen dazu umfassen den Konstruktor, das Prädikat und die Selektoren. Die Besonderheit hier ist, dass der Signatorkonstruktor (name-of) in die Signaturen eingebaut wird. Dies beim Konstruktor als Endprodukt mit den Eingaben und bei den Selektoren als Ausgangspunkt.


Der Signaturkonstruktor kann dann verwendet werden, um einen konkreten Typ des Records festzulegen, wenn die Komponenten (Selektoren) variabel sind. Dies geht auch mit define, lambda und signature. Bei lambda wird dann der gewünschte Typ entgegengenommen und die Definition erfolgt über die Kombi aus Signaturkonstruktor und Variable, die über lambda festgelegt wird.

Keine Kommentare:

Kommentar veröffentlichen