;; 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 stringlist) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) ; Eine nicht-leere Stringliste besteht aus ; - einem ersten Element (string) ; - einer Restliste (Zahlenliste) (define-record-procedures nonempty-stringlist cons cons? (first rest)) ; Eine Stringliste ist eins der Folgenden: ; - eine leere Liste (empyt-list) ; - eine nicht-leere Zahlenliste (nonempty-list) (define stringlist (signature (mixed empty-list nonempty-stringlist))) (: cons (string stringlist -> nonempty-stringlist)) (: cons? (any -> boolean)) (: first (nonempty-stringlist -> string)) (: rest (nonempty-stringlist -> stringlist)) (: list2 stringlist) (define list2 (cons "Hello" (cons "World" empty)))