summaryrefslogtreecommitdiff
path: root/src/content/en/pastebin/2021/06/08
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-04-30 06:23:27 -0300
committerEuAndreh <eu@euandre.org>2025-04-30 06:33:36 -0300
commit61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da (patch)
treefc3c799bece509682b712f6e42e2816059c83c7a /src/content/en/pastebin/2021/06/08
parentMakefile: No need to remove non-generated *.mo files (diff)
downloadeuandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.gz
euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.xz
src/content/en/: Unpluralize collection names
Diffstat (limited to 'src/content/en/pastebin/2021/06/08')
-rw-r--r--src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc b/src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc
new file mode 100644
index 0000000..d9f1f91
--- /dev/null
+++ b/src/content/en/pastebin/2021/06/08/reading-session-pt1.adoc
@@ -0,0 +1,66 @@
+= Debit Reading Session - SICP solutions pt.1
+
+[source,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.