summaryrefslogtreecommitdiffstats
path: root/eleven/lazy.rkt
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-07-03 15:47:02 -0400
committerrsiddharth <s@ricketyspace.net>2020-07-03 15:47:02 -0400
commit0f072be231d0bd875d1c87ff127834e60979263a (patch)
tree19010b72474c14a04891abbe3da0fb5d58067db9 /eleven/lazy.rkt
parent4f731f11be9d5bbfcd921671852e514e577a0c00 (diff)
net/ricketyspace/ror -> ./
Diffstat (limited to 'eleven/lazy.rkt')
-rw-r--r--eleven/lazy.rkt23
1 files changed, 23 insertions, 0 deletions
diff --git a/eleven/lazy.rkt b/eleven/lazy.rkt
new file mode 100644
index 0000000..6f54719
--- /dev/null
+++ b/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)))