Subject: Re: Functional programming From: Erik Naggum <email@example.com> Date: 1999/11/06 Newsgroups: comp.lang.lisp Message-ID: <firstname.lastname@example.org> * Eugene Zaikonnikov | You're right, but Scheme is a bit more elegant at function composition. | ((foo a b) c d) looks more natural than (funcall (foo a b) c d), though | essentially it's the same. that's no more than syntactic artificial sweetener at best. while it may look cute to the uninitiate, the decision not to have FUNCALL means you can't actually make indirect functions calls, as in the following very useful idiom to process a list of functions. (mapcar #'funcall <list-of-functions> ...) of course, any real Lisper knows how to teach Scheme to be smart about this, too, but Scheme has to be taught just about _everything_: (define funcall (lambda (function . args) (apply function args))) Scheme should adopt a new syntax for APPLY: (function . args). I've suggested it before, and it's weird tha they haven't adopted it: it would be so much more _elegant_ when compared to the syntax of the lambda lists. #:Erik -- Attention Microsoft Shoppers! MS Monopoly Money 6.0 are now worthless.