;; 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-vanilla-reader.ss" "deinprogramm")((modname sum-letrec) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ()))) (define f (lambda (x) (letrec ((g (lambda (y) x))) x))) ; Mit lexikalischer Bindung: Vermeidung des "Durchreichens" von Parametern (: sum ((integer -> number) (integer -> integer) integer integer -> number)) (define sum (lambda (fun next a b) (letrec ((sum-up (lambda (x) (if (> x b) 0 (+ (fun x) (sum-up (next x))))))) (sum-up a))))