[Python-Dev] A Hygienic Macro System in Python? (original) (raw)

Samuele Pedroni pedroni@inf.ethz.ch
Mon, 18 Mar 2002 23:28:57 +0100


From: Skip Montanaro <skip@pobox.com>

(Tom, you gave up way too easily! Hint for the next time: post to comp.lang.python instead of the python-dev mailing list. There are at least 20 or 30 people there who will gladly provide positive support for just about any language change proposal. The lifetime of proposals posted there thus tends to be correspondingly much longer than those that originate here. :-)

unfair . IMO it is just that CL,Dylan and Common Lisp did not get macros overnight. And btw the respective communities have dissenting opinion about macros.
So maybe a starting point for a discussion would be a bunch of tentative but concrete implementation of macros, that tries to be pythonic. Scheme is not pythonic .

But, since Tom has given up more or less and Tim has diverted the thread to his own nefarious uses, I will note that the try/finally lock idiom does get tedious. Using the same argument as "if Guido wanted 'unless' he'd add it to the language", I think that if this is important enough, it's important enough to add to the language. I think a "lock" keyword would be appropriate: lock somelock: do stuff The biggest problem I found with the try/finally lock idiom was that "do stuff" can tend to get long, so the vertical distance between lock.acquire() and lock.release() can be substantial. a lock statement/clause/macro would remove the need to worry about that visual distance.

seems nevertheless ad-hoc . Then maybe

useres ini,consume: stuff

=>

ini() try: stuff finally: consume()

useres somelock.acquire,somelock.release: stuff

x 2

regards.