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

David Ascher DavidA@ActiveState.com
Mon, 18 Mar 2002 17:35:08 -0800


Daniel Mahler:

Consider a html printer macro library:

html: header: title: print "blah" body: h1: print "bleh" p: print "foo" a (href="http://bar.org"): print "bar" print "baz"

funny. That's not too far from code that I write in Quixote w/ some extra functions:

template page(request): header(title("blah")) body(hl("bleh"), p(("foo", a(href="...","bar")), "baz" )

note that template is the Quixote part, which removes the need for unsightly prints =)

My vote on the notion is that I want to know what good macros people would write, and then implement them in a non-macro fashion. The lock or connection examples to me indicate a possible language addition which boils down to something nice and essential (in the meaning of 'of the essence'). Macros in their generality scare me.

--david