From e044c362c2fd28b81cf5df417df7bcc52896857d Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Sat, 6 Aug 2016 18:54:18 -0400 Subject: [PATCH] Added (flatten) --- scheme/cyclone/util.sld | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scheme/cyclone/util.sld b/scheme/cyclone/util.sld index 358521f3..d26d2c87 100644 --- a/scheme/cyclone/util.sld +++ b/scheme/cyclone/util.sld @@ -40,6 +40,7 @@ gensym delete delete-duplicates + flatten list-index2 list-insert-at! list-prefix? @@ -103,6 +104,11 @@ (if (eq? tail new-tail) lis (cons x new-tail))))) (recur lis)) +(define (flatten x) + (cond ((null? x) '()) + ((pair? x) (append (flatten (car x)) (flatten (cdr x)))) + (else (list x)))) + ;; Insert obj at index k of list, increasing length of list by one. (define (list-insert-at! lis obj k) (cond