aboutsummaryrefslogtreecommitdiff
path: root/algebraic-structures.private.list.scm
blob: 4710b40b5c5e9248cdb0c7f1c01f018b95616601 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(module (algebraic-structures private list) (<> unit fold reduce map1)
  (import scheme
          (rename (only (srfi 1) fold reduce)
                  (fold srfi:fold)
                  (reduce srfi:reduce))
          (only (chicken base) assert))

  (define <> append)

  (define unit '())

  (define fold srfi:fold)

  (define (reduce f xs)
    (assert (not (null? xs)))
    (srfi:reduce f #f xs))

  (define (map1 f xs)
    (map f xs)))