;; Die ersten drei Zeilen dieser Datei wurden von DrRacket eingefügt. Sie enthalten Metadaten ;; über die Sprachebene dieser Datei in einer Form, die DrRacket verarbeiten kann. #reader(lib "DMdA-beginner-reader.ss" "deinprogramm")((modname anylist) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) ; Eine nicht-leere Liste besteht aus: ; - einem beliebigen Element ; - einer Liste (define-record-procedures nonempty-list cons cons? (first rest)) ; Eine Liste ist eins der folgenden: ; - eine leere Liste ; - eine nicht-leere Liste (define anylist (signature (mixed empty-list nonempty-list))) (: cons (any anylist -> nonempty-list)) (: cons? (any -> boolean)) (: first (nonempty-list -> any)) (: rest (nonempty-list -> anylist)) (: list12 anylist) (define list12 (cons 1 (cons 2 empty))) (: hw anylist) (define hw (cons "Hello" (cons "World" empty))) (: mixlist anylist) (define mixlist (cons 1 (cons "Scheme" (cons #t empty))))