summaryrefslogtreecommitdiff
path: root/coding-exercises/2/33.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'coding-exercises/2/33.rkt')
-rw-r--r--coding-exercises/2/33.rkt21
1 files changed, 21 insertions, 0 deletions
diff --git a/coding-exercises/2/33.rkt b/coding-exercises/2/33.rkt
index cda82ce..85495eb 100644
--- a/coding-exercises/2/33.rkt
+++ b/coding-exercises/2/33.rkt
@@ -1,2 +1,23 @@
#lang racket
+(require "../../shared/lists.rkt")
+(define (map p sequence)
+ (accumulate
+ (lambda (x y)
+ (cons (p x) y))
+ '() sequence))
+
+(define (append seq1 seq2)
+ (accumulate cons seq2 seq1))
+
+(define (length sequence)
+ (accumulate (lambda (x y)
+ (+ 1 y)) 0 sequence))
+
+(define test-seq (list 1 2 3 4 5 6 7 8 9 10))
+((lambda ()
+ (display (map (lambda (x) (* x x)) test-seq))
+ (newline)
+ (display (append test-seq test-seq))
+ (newline)
+ (display (length test-seq))))