From a046bc9de125dedb9a81743bfd1809b50ea84259 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 24 Apr 2022 19:49:50 +0200 Subject: New definition for flatten-sublists This fixes a crash with e.g. (sel (list (list fix1 fix2) fix3)) --- guile/starlet/utils.scm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'guile') 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) -- cgit v1.2.3