guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 07/16: Refactor list->seq to make return arity apparent


From: Andy Wingo
Subject: [Guile-commits] 07/16: Refactor list->seq to make return arity apparent
Date: Wed, 27 Dec 2017 10:02:47 -0500 (EST)

wingo pushed a commit to branch master
in repository guile.

commit 140b69dfc653c27b59570c9050e8b0909fd296b9
Author: Andy Wingo <address@hidden>
Date:   Tue Dec 26 20:51:31 2017 +0100

    Refactor list->seq to make return arity apparent
    
    * module/language/tree-il.scm (list->seq): Change to let tail of seq
      indicate number of values.
---
 module/language/tree-il.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index 5fb0ce0..88e943b 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -139,9 +139,12 @@
 
 ;; A helper.
 (define (list->seq loc exps)
-  (if (null? (cdr exps))
-      (car exps)
-      (make-seq loc (car exps) (list->seq #f (cdr exps)))))
+  (match exps
+    ((exp . exps)
+     (let lp ((head exp) (tail exps))
+       (match tail
+         (() head)
+         ((exp . tail) (lp (make-seq loc head exp) tail)))))))
 
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]