Neil Cerutti <[EMAIL PROTECTED]> writes: > |>oug writes:
>> Sussman's statements are not ironic because Scheme is a >> language that is designed to be extended by the end-user (even >> syntactically), while keeping the core language minimal. This >> is a rather different design philosophy from that of Python. > Which version Scheme, though? Scheme has only formally had macros > since R4RS, and then only as an extension. Macros are an extension > to Scheme, rather than a founder. Macros were only *standardized* in Scheme with R4RS. This is because they wanted to figure out the "right" way to do macros before putting it in stone. (Common Lisp-like non-hygienic macros were considered inelegant.) All the major implementations of Scheme that I know of implemented some form of powerful macro mechanism. N.b., Rabbit, which was Guy Steele's implementation of Scheme, and completed long, long before the R4RS standard. (Guy Steele was one of the two inventors of Scheme.) And, as far as I am aware, the plan was always to eventually come up with a macro mechanism that was as elegant as the rest of Scheme. The problem with this approach was that achieving this daunting goal turned out to take quite a while. > Python could conceivably end up in the same position 15 years > from now, with macros a well-established late-comer, as > generators have become. That would be very cool. The feeling I get, however, is that there would be too much complaining from the Python community about how such a thing would be "un-Pythonic". > The SRFIs are cool. > The last time I dipped my toe into the Scheme newsgroup, I was > overwhelmed by the many impractical discussions of Scheme's dark > corners. Python is either much more free of dark corners, or else > simply doesn't attract that kind of aficionado. I don't really think that Scheme itself has many dark corners -- it's just that being basically a pristine implementation of lambda calculus, Scheme lets you directly explore some pretty mind-bending stuff. I would agree that most of that kind of stuff is not particularly practical, but it can be fun in a hackerly, brain-expanding/brain-teaser kind of way. I think that most people who program in Scheme these days don't do it to write practical software. They either do it to have fun, or for academic purposes. On the other hand, most people who program in Python are trying to get real work done. Which is precisely why I program a lot in Python and very little in Scheme these days. It's nice to have the batteries included. |>oug -- http://mail.python.org/mailman/listinfo/python-list