(define gen-current-default-size (make-parameter 3)) ;; simplified to illustrate (define (gen-char) #\a) (define gen-string-of (case-lambda (() (gen-string-of (gen-current-default-size) gen-char)) ((gen) (gen-string-of (gen-current-default-size) gen)) ((size gen) (with-output-to-string (do ((i 0 (add1 i))) ((>= i size)) (display (gen))))))) ;; error Error: call of non-procedure: # Call history: [gen-string-of] (>= i size) [gen-string-of] (display (gen)) [gen-string-of] (gen) [gen-string-of] (doloop4588 (add1 i)) [gen-string-of] (add1 i) [gen-string-of] (>= i size) [gen-string-of] (display (gen)) [gen-string-of] (gen) [gen-string-of] (doloop4588 (add1 i)) [gen-string-of] (add1 i) [gen-string-of] (>= i size) [gen-string-of] (display (gen)) [gen-string-of] (gen) [gen-string-of] (doloop4588 (add1 i)) [gen-string-of] (add1 i) [gen-string-of] (>= i size) <--