Bugfix: support map^3.
[mes.git] / 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))