diff options
-rw-r--r-- | algebraic-structures.applicative.scm | 8 | ||||
-rw-r--r-- | algebraic-structures.functor.scm | 4 | ||||
-rw-r--r-- | tests/run.scm | 10 |
3 files changed, 11 insertions, 11 deletions
diff --git a/algebraic-structures.applicative.scm b/algebraic-structures.applicative.scm index ac3028a..489f76d 100644 --- a/algebraic-structures.applicative.scm +++ b/algebraic-structures.applicative.scm @@ -1,5 +1,5 @@ -(functor ((algebraic-structures applicative) (A (pure map map2))) - (pure map map2 map* apply) +(functor ((algebraic-structures applicative) (A (pure map1 map2))) + (pure map1 map2 map apply) (import (rename scheme (map scheme:map) (apply scheme:apply)) (only (chicken base) sub1 add1 foldl case-lambda) A @@ -16,9 +16,9 @@ (lambda (args) (k (cons x args)))))))) - (define map* + (define map (case-lambda - ((f x) (map f x)) + ((f x) (map1 f x)) ((f x y) (map2 f x y)) ((f x . xs) (let ((g (curry-n f (add1 (length xs))))) diff --git a/algebraic-structures.functor.scm b/algebraic-structures.functor.scm index 70d5496..c1a5639 100644 --- a/algebraic-structures.functor.scm +++ b/algebraic-structures.functor.scm @@ -1,3 +1,3 @@ -(functor ((algebraic-structures functor) (F (map))) - (map) +(functor ((algebraic-structures functor) (F (map1))) + (map1) (import F)) diff --git a/tests/run.scm b/tests/run.scm index 0d76cda..b49db8e 100644 --- a/tests/run.scm +++ b/tests/run.scm @@ -126,12 +126,12 @@ (import (algebraic-structures functor)) (module (data list functor) = (algebraic-structures functor) - (import scheme (chicken module)) - (export map)) + (import (chicken module)) + (reexport (rename scheme (map map1)))) (import (prefix (data list functor) list:)) -(test '((a) (b) (c)) (list:map list '(a b c))) +(test '((a) (b) (c)) (list:map1 list '(a b c))) (test-end "functor") @@ -179,7 +179,7 @@ (list:map2 list '(a b c) '(1 2))) (test '((a 1 z) (a 2 z) (b 1 z) (b 2 z) (c 1 z) (c 2 z)) - (list:map* list '(a b c) '(1 2) '(z))) + (list:map list '(a b c) '(1 2) '(z))) (test-end "applicative") @@ -187,7 +187,7 @@ (import (algebraic-structures monad)) (module (data list monad) = (algebraic-structures monad) - (import (except scheme map) + (import scheme (chicken module) (srfi 1)) (reexport (data list applicative)) |