From c0d903c2e16eccc444ea95187a02f3e0dfe639ae Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 30 Jan 2021 12:04:51 +0100 Subject: flatten-sublists: Preserve order --- guile/starlet/base.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'guile') diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm index f64ea51..780ff44 100644 --- a/guile/starlet/base.scm +++ b/guile/starlet/base.scm @@ -566,10 +566,14 @@ (define (flatten-sublists l) + + (define (listify a) + (if (list? a) + a + (list a))) + (fold (lambda (a prev) - (if (list? a) - (append a prev) - (cons a prev))) + (append prev (listify a))) '() l)) -- cgit v1.2.3