Change seq-item to flatten its arguments.
authorChris Hanson <org/chris-hanson/cph>
Tue, 30 Jan 2018 05:32:43 +0000 (21:32 -0800)
committerChris Hanson <org/chris-hanson/cph>
Tue, 30 Jan 2018 05:32:43 +0000 (21:32 -0800)
Also rename flatten-seq-items to flatten-items.

src/runtime/runtime.pkg
src/runtime/syntax-compile.scm
src/runtime/syntax-items.scm

index 565e2cf8157cb633dc8242cb7bd5fe1d16779370..d69099c57948bc57bd73a90b760807575790ebcc 100644 (file)
@@ -4435,7 +4435,7 @@ USA.
          expr-item-compiler
          expr-item?
          extract-declarations-from-body
-         flatten-seq-items
+         flatten-items
          item->list
          keyword-item?
          keyword-value-item
index 8085a3dcac51539c938d8674fda4d31206cf2705..b437d3c4b36906dfa01f13b0d1b2758a6b89f870 100644 (file)
@@ -48,7 +48,7 @@ USA.
                               (map compile-item/top-level body-items))))
 
 (define (compile-body-items items)
-  (let ((items (flatten-seq-items items)))
+  (let ((items (flatten-items items)))
     (if (not (pair? items))
        (syntax-error "Empty body"))
     (output/sequence
index 4c571ac8eb76aa41dfb691d6aebe38ff6d20ae77..d6d46e59b0153bd250f46b619cf4b80d14fae4d4 100644 (file)
@@ -121,20 +121,23 @@ USA.
 
 ;;; Sequence items.
 
+(define (seq-item elements)
+  (%seq-item (flatten-items elements)))
+
 (define-record-type <seq-item>
-    (seq-item elements)
+    (%seq-item elements)
     seq-item?
   (elements seq-item-elements))
 
 (define (extract-declarations-from-body seq-item)
   (partition decl-item? (seq-item-elements seq-item)))
 
-(define (flatten-seq-items items)
+(define (flatten-items items)
   (append-map item->list items))
 
 (define (item->list item)
   (if (seq-item? item)
-      (flatten-seq-items (seq-item-elements item))
+      (seq-item-elements item)
       (list item)))
 
 ;;; Expression items represent any kind of expression other than a