Updated links in readme.
[scheme.forth.jl.git] / src / scheme-library-1-essential.scm
1 ;; MISC ESSENTIAL PROCEDURES
2
3 (define list
4   (lambda args args))
5
6 (define map
7   (lambda (proc l)
8     (if (null? l)
9         '()
10         (cons (proc (car l)) (map proc (cdr l))))))
11
12 (define join-lists
13   (lambda (l1 l2)
14     (if (null? l1)
15       l2
16       (cons (car l1) (join-lists (cdr l1) l2)))))
17
18 ; Append an arbitrary number of lists together
19 (define append
20   (lambda lists
21   (if (null? lists)
22     ()
23     (if (null? (cdr lists))
24       (car lists)
25       (join-lists (car lists) (apply append (cdr lists)))))))
26