diff options
author | Thomas White <taw@physics.org> | 2022-04-24 19:49:50 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-04-24 19:49:50 +0200 |
commit | a046bc9de125dedb9a81743bfd1809b50ea84259 (patch) | |
tree | 95f07db9574ae23ec0082b4f77b2e4e737102e0e /guile | |
parent | 79efe6daa8345df2702ce9f71be577a595ae660d (diff) |
New definition for flatten-sublists
This fixes a crash with e.g. (sel (list (list fix1 fix2) fix3))
Diffstat (limited to 'guile')
-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) |