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 +++++++++- rust/prelude.scm | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) create mode 120000 rust/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))))) diff --git a/rust/prelude.scm b/rust/prelude.scm new file mode 120000 index 0000000..84e0834 --- /dev/null +++ b/rust/prelude.scm @@ -0,0 +1 @@ +../prelude.scm \ No newline at end of file -- cgit v1.2.3