diff options
author | Masaya Tojo <masaya@tojo.tokyo> | 2024-06-16 01:58:48 +0900 |
---|---|---|
committer | Masaya Tojo <masaya@tojo.tokyo> | 2024-06-16 01:58:48 +0900 |
commit | 5931a79a5a915035e01b9fb22a3edfde7895e424 (patch) | |
tree | 7704b515651e83db421ee342f02894bfa75557cb /algebraic-structures.private.list.scm | |
parent | 3f2efd08c5e93b2d20d3f4a32bdfec40a8b14730 (diff) |
Add list implementations
Diffstat (limited to 'algebraic-structures.private.list.scm')
-rw-r--r-- | algebraic-structures.private.list.scm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/algebraic-structures.private.list.scm b/algebraic-structures.private.list.scm new file mode 100644 index 0000000..4710b40 --- /dev/null +++ b/algebraic-structures.private.list.scm @@ -0,0 +1,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))) |