diff options
-rw-r--r-- | guile/starlet/utils.scm | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/guile/starlet/utils.scm b/guile/starlet/utils.scm index 2046a0a..2f4e613 100644 --- a/guile/starlet/utils.scm +++ b/guile/starlet/utils.scm @@ -62,15 +62,12 @@ (define (flatten-sublists l) - - (define (listify a) - (if (list? a) - a - (list a))) - - (fold (lambda (a prev) - (append prev (listify a))) - '() l)) + (fold + (lambda (el prev) + (if (list? el) + (append (flatten-sublists el) prev) + (cons el prev))) + '() l)) (define (more-than-one a) |