![]() Such as this, submitted by Torsten Grust: (define-record-procedures-parametric stream_ stream-of make-stream stream? (stream-head stream-tail)) (define stream (lambda (t) (signature (stream-of t (-> (stream t)))))) (: from (number -> (stream number))) (define from (lambda (n) (make-stream n (lambda () (from (+ n 1)))))) (: foo (stream number)) (define foo (from 1)) The problem was that the arbitaries got evaluated too eagerly. |
||
---|---|---|
.. | ||
info.rkt | ||
module-begin.rkt | ||
signature-english.rkt | ||
signature-german.rkt | ||
signature-syntax.rkt | ||
signature-unit.rkt | ||
signature.rkt | ||
tool.rkt |