For Kenny Tilton: Why do I need macros revisited.

Jacek Generowicz jacek.generowicz at
Fri Aug 22 14:17:14 CEST 2003

"Andrew Dalke" <adalke at> writes:

> Temp_4
> ] As Scheme became more widespread, local dialects began to
> ] diverge until students and researchers occasionally found it difficult
> ] to understand code written at other sites.

That has probably more to do with the fact that Scheme is
minimalistic. And if you have a minimalistic langugage, you end up
having to implement a lot of utilities before you can get on with what
you are actulally trying to achieve (or have your language
implementation provide them as extensions).

Schemers criticize Common Lisp for being too big. The consequence of
having a big language (a la CL, not a la C++) is that most things that
"everybody" needs are already in the language. In Scheme "everybody"
ends up re-inventing the things that "everybody" needs, separately,
leading to fragmentation. In CL, everybody agrees on how to implement
the things that "everybody" needs: you use the ones defined by the
standard. In this way, any macro-magic is restricted to the domain
specific corners of your application.

In summary, I reckon that any inter-Scheme incomprehensibility or
Scheme fragmentation results from starting with a language that
doesn't offer enough out of the box.

More information about the Python-list mailing list