From 5bf77cc39f3ce9d9be06ebcc12f6d587c4ae1847 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Mon, 25 Apr 2016 23:53:12 -0400 Subject: update (and line) prelude.scm --- prelude.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'prelude.scm') diff --git a/prelude.scm b/prelude.scm index 1a8d853..a3b123e 100644 --- a/prelude.scm +++ b/prelude.scm @@ -15,10 +15,18 @@ (define cddar (lambda (x) (car (cdr (cdr x))))) (define cdddr (lambda (x) (car (cdr (cdr x))))) +; my favorite! +(define cdaddr (lambda (x) (cdr (car (cdr (cdr x)))))) + (define if (lambda (pred tval fval) (cond (pred tval) (else fval)))) (define not (lambda (x) (if x #f #t))) (define abs (lambda (x) (if (> x 0) x (* -1 x)))) -;(define for-each map) +(define map + (lambda (f l) + (cond ((null? l) ()) + (else (cons (f (car l)) (map f (cdr l))))))) + +(define for-each map) ;(define compose (lambda (f g) (lambda args (f (apply g args))))) -- cgit v1.2.3