summaryrefslogtreecommitdiff
path: root/scheme/aps/list-utils.sls
diff options
context:
space:
mode:
Diffstat (limited to 'scheme/aps/list-utils.sls')
-rw-r--r--scheme/aps/list-utils.sls20
1 files changed, 9 insertions, 11 deletions
diff --git a/scheme/aps/list-utils.sls b/scheme/aps/list-utils.sls
index 95a479a..b662e73 100644
--- a/scheme/aps/list-utils.sls
+++ b/scheme/aps/list-utils.sls
@@ -2,7 +2,7 @@
(library (aps list-utils)
(export range enumerate zip transpose distinct? let+ perm list-of-aux list-for
remove-dupl append-unique fold flatten list-of normalize)
-(import (rnrs) (sweet-macros) (aps cut))
+(import (rnrs) (sweet-macros) (aps cut) (for (aps lang) expand))
;;; macros
@@ -127,17 +127,15 @@
(def-syntax fold
(syntax-match (left right in)
(sub (fold left (acc seed) (x in lst) (x* in lst*) ... new-acc)
- (locally
- (with-syntax (a a* ...) (generate-temporaries #'(x x* ...)))
- #'(fold-left
- (lambda (acc a a* ...) (let+ (x a) (x* a*) ... new-acc))
- seed lst lst* ...)))
+ (: with-syntax (a a* ...) (generate-temporaries #'(x x* ...))
+ #'(fold-left
+ (lambda (acc a a* ...) (let+ (x a) (x* a*) ... new-acc))
+ seed lst lst* ...)))
(sub (fold right (acc seed) (x in lst) (x* in lst*) ... new-acc)
- (locally
- (with-syntax (a a* ...) (generate-temporaries #'(x x* ...)))
- #'(fold-right
- (lambda (a a* ... acc) (let+ (x a) (x* a*) ... new-acc))
- seed lst lst* ...)))
+ (: with-syntax (a a* ...) (generate-temporaries #'(x x* ...))
+ #'(fold-right
+ (lambda (a a* ... acc) (let+ (x a) (x* a*) ... new-acc))
+ seed lst lst* ...)))
))
;;END