diff options
Diffstat (limited to '_pastebins/2021-06-08-debit-reading-session-sicp-solutions-pt-1.md')
-rw-r--r-- | _pastebins/2021-06-08-debit-reading-session-sicp-solutions-pt-1.md | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/_pastebins/2021-06-08-debit-reading-session-sicp-solutions-pt-1.md b/_pastebins/2021-06-08-debit-reading-session-sicp-solutions-pt-1.md deleted file mode 100644 index b97ef08..0000000 --- a/_pastebins/2021-06-08-debit-reading-session-sicp-solutions-pt-1.md +++ /dev/null @@ -1,77 +0,0 @@ ---- - -title: Debit Reading Session - SICP solutions pt.1 - -date: 2021-06-08 - -layout: post - -lang: en - -ref: debit-reading-session-sicp-solutions-pt-1 - ---- - -```scheme -;; 1.41 -(define (double f) - (lambda (x) - (f (f x)))) - - -:;; 1.42 -(define (compose f g) - (lambda (x) - (f (g x)))) - - -;;; 1.43 -(define (repeated f n) - (if (= 1 n) - identity - (comp (repeated f (dec n))))) - - -;;; 2.27 -(define (map-tree node-fn leaf-fn tree) - (cond - ((null? tree) tree) - ((not (pair? tree)) (leaf-fn tree)) - (else - (node-fn - (cons (map-tree node-fn leaf-fn (car tree)) - (map-tree node-fn leaf-fn (cdr tree))))))) - -(define (map-nodes f tree) - (map-tree f identity tree)) - -(define (deep-reverse x) - (map-nodes reverse x)) - - -;;; 2.28 -(define (flatten tree) - (define (rec acc t) - (cond - ((null? t) acc) - ((not (pair? t)) (cons t acc)) - (else - (rec (rec (cdr t) acc) - (car t))))) - (rec nil tree)) - - -;;; 2.30 -(define (square-tree tree) - (map-leaves square tree)) - - -;;; 2.31 -(define square-tree map-leaves) ; ha! - - -;;; 2.32 -TODO -``` - -FYI: I just typed those in, I didn't yet test them yet. |