Bugfix: support map^3.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 19 Dec 2016 18:32:17 +0000 (19:32 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 19 Dec 2016 18:32:17 +0000 (19:32 +0100)
* 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

index ffcbcf18d12d7d41b28f306f992ea9d2f2e670ee..4dfbeb60b3c0b6e8ad7442b236b0ec73a81a3fad 100644 (file)
   (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))