Version: 4.1.5
1.15 Parametrische Record-Typ-Definitionen
(define-record-procedures-parametric (t p1 ) c p (s1 )) |
Die define-record-procedures-parametric ist wie define-record-procedures mit dem Unterschied, daß t an einen parametrischen Vertrag gebunden wird: Es muß genauso viele Parameter p1 geben wie Selektoren s1; für diese Parameter werden die Verträge für die Felder substituiert.
Beispiel:
(define-record-procedures-parametric (pare a b) |
make-pare pare? |
(pare-one pare-two)) |
Dann ist (pare integer string) der Vertrag für pare-Records, bei dem die Felder die Verträge integer respektive string erfüllen müssen.