>I am a little surprised that you would base a cutting edge extension on Py 2. Do you have it working with 3.3 also?
It's not really a cutting edge extension yet, it's more a completely-crazy "you did WHAT?" proof of concept to explore the space of possibilities. 2.7 was what we had installed, so we just ran with it. Haven't done any testing at all on 3.4, but if the project turns out well (i.e. the functionality is actually usable, and people are interested) we could look at porting it. I don't think the core of the system will change much, but the individual macros may have to be re-written since the ASTs are slightly different.
> a, b = 1, 2
print("{a} apple and {b} bananas".format(**locals()))
print("%(a)s apple and %(b)s bananas" % locals())
Yes, you can do it like that. You can't do more complex stuff though, like
"%{a ** b} is %{a} to the power of %{b}"
Perhaps I should put it in the readme, since I already have a unit test for it.
You actually can get a syntax like that without macros, using stack-introspection, locals-trickery and lots of `eval`. The question is whether you consider macros more "extreme" than stack-introspection, locals-trickery and `eval`! A JIT compiler will probably be much happier with macros.