diff options
author | rsiddharth <s@ricketyspace.net> | 2020-07-03 15:49:09 -0400 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2020-07-03 15:49:09 -0400 |
commit | 9d23e66fe8332abc7a1bbd9022f3e58e1133b3fb (patch) | |
tree | 5bf435cd979dcb785624d43c75f379ae684f97e3 /chapter11 | |
parent | 0f072be231d0bd875d1c87ff127834e60979263a (diff) |
name directories like the realm repo.
Diffstat (limited to 'chapter11')
-rw-r--r-- | chapter11/lazy.rkt | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/chapter11/lazy.rkt b/chapter11/lazy.rkt new file mode 100644 index 0000000..6f54719 --- /dev/null +++ b/chapter11/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))) |