From c93096fe5f927af109aca1b058cc9bbc44ec3ea1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Mon, 19 Dec 2016 19:32:17 +0100 Subject: [PATCH] Bugfix: support map^3. * module/mes/base-0.scm (map): Support third list, add more visible error when used with 4 or more list. --- module/mes/base-0.mes | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/module/mes/base-0.mes b/module/mes/base-0.mes index ffcbcf18..4dfbeb60 100644 --- a/module/mes/base-0.mes +++ b/module/mes/base-0.mes @@ -85,7 +85,10 @@ (if (null? l) '() (if (null? r) (cons (f (car l)) (map f (cdr l))) (if (null? (cdr r)) - (cons (f (car l) (caar r)) (map f (cdr l) (cdar r))))))) + (cons (f (car l) (caar r)) (map f (cdr l) (cdar r))) + (if (null? (cddr r)) + (cons (f (car l) (caar r) (caadr r)) (map f (cdr l) (cdar r) (cdadr r))) + '*MAP-4-NOT-SUPPORTED))))) (define-macro (simple-let bindings . rest) (cons (cons 'lambda (cons (map car bindings) rest))