1.13 Parametrische Record-Typ-Definitionen
(define-record-procedures-parametric t cc c p (s1 ...)) |
Die define-record-procedures-parametric ist wie
define-record-procedures. Zusäzlich wird der Bezeichner
cc an einen Signaturkonstruktor gebunden: Dieser akzeptiert
für jedes Feld eine Feld-Signatur und liefert eine Signatur, die nur
Records des Record-Typs t erfüllen, bei dem die Feldinhalte
die Feld-Signaturen erfüllen.
Beispiel:
(define-record-procedures-parametric pare pare-of |
make-pare pare? |
(pare-one pare-two)) |
Dann ist (pare-of integer string) die Signatur für pare-Records, bei dem die Feldinhalte die Signaturen integer bzw. string erfüllen müssen.
Die Signaturen für die Feldinhalte werden erst überprüft, wenn ein Selektor aufgerufen wird.