diff options
| -rw-r--r-- | net/ricketyspace/ror/eleven/lazy.rkt | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/net/ricketyspace/ror/eleven/lazy.rkt b/net/ricketyspace/ror/eleven/lazy.rkt new file mode 100644 index 0000000..6f54719 --- /dev/null +++ b/net/ricketyspace/ror/eleven/lazy.rkt @@ -0,0 +1,23 @@ +#lang racket + +(define (make-lazy+ i) +  (lambda () +    (apply + (build-list (* 500 i) values)))) + + +(define long-big-list (build-list 5000 make-lazy+)) + + +(define (compute-every-1000th l) +  (for/list ([thunk l] +             [i (in-naturals)] +             #:when (zero? (remainder i 1000))) +    (thunk))) + + +(define (memoize.v2 suspended-c) +  (define (hidden) +    (define the-value (suspended-c)) +    (set! hidden (lambda () the-value)) +    the-value) +  (lambda () (hidden))) | 
