Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

2
  • 6
    The results of the difference goes deeper than just using funcall or avoiding name clashes: using higher order functions in Scheme is more natural, therefore more idiomatic, therefore compilers will work hard to optimize it. In CL, however, if you're using defvar to define a variable, and then funcall it, then compilers are very likely to compile it to much slower code than using a function definition. This is similar to CLers preferring loop constructs, and schemers preferring tail-calls instead. But of course your third point is the most important one... Commented Jul 25, 2010 at 22:17
  • That's true, and a part of what I meant by "encourages a functional style of programming" --- thanks for making it more explicit. Commented Jul 26, 2010 at 0:41