summaryrefslogtreecommitdiffstats
path: root/chapter11
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-07-03 15:49:09 -0400
committerrsiddharth <s@ricketyspace.net>2020-07-03 15:49:09 -0400
commit9d23e66fe8332abc7a1bbd9022f3e58e1133b3fb (patch)
tree5bf435cd979dcb785624d43c75f379ae684f97e3 /chapter11
parent0f072be231d0bd875d1c87ff127834e60979263a (diff)
name directories like the realm repo.
Diffstat (limited to 'chapter11')
-rw-r--r--chapter11/lazy.rkt23
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)))