;; Abstraktionen für Repräsentationsabstraktion (define make-type (lambda (name) name)) (define typed-value-maker (lambda (type) (lambda (value) (cons type value)))) (define typed-value-selector (lambda (type) (lambda (value) (if (equal? type (car value)) (cdr value) (error "type mismatch"))))) (define typed-value-predicate (lambda (type) (lambda (value) (and (pair? value) (equal? type (car value))))))