From Newsgroup: comp.lang.scheme
Pascal J. Bourguignon wrote:
(let ((a (list 1 2 3 4)))
(remove-if (function evenp)
(mapcar (lambda (x) (1+ (* 3 x))) a)))
Gauche Scheme
(let1 a '(1 2 3 4)
(filter odd? (map~ x (+ (* 3 x) 1) a)))
===>
(7 13)
Given:
(define-syntax map~
(syntax-rules ()
[(_ (v0 v1 ...) expr seq0 seq1 ...)
(map (lambda(v0 v1 ...) expr) seq0 seq1 ...) ]
[(_ v expr seq)
(map (lambda(v) expr) seq) ] ))
--
The good news is, it's not Lisp that sucks, but Common Lisp. --- Paul Graham --- Synchronet 3.21a-Linux NewsLink 1.2