From 140b69dfc653c27b59570c9050e8b0909fd296b9 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 26 Dec 2017 20:51:31 +0100 Subject: [PATCH] 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 5fb0ce05f..88e943b75 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)))))))