Christopher Subich wrote: > g = <x**2 with (x)> > g(1) == 1 > > Basically, I'd rewrite the Python grammar such that: > lambda_form ::= "<" expression "with" parameter_list ">" > > Biggest change is that parameter_list is no longer optional, so > zero-argument expr-comps would be written as <expr with ()>, which makes > a bit more sense than <expr with>. > > Since "<" and ">" aren't ambiguous inside the "expression" state, this > shouldn't make the grammar ambiguous. The "with" magic word does > conflict with PEP-343 (semantically, not syntactically), so "for" might > be appropriate if less precise in meaning.
What kind of shenanigans must a parser go through to translate: <x**2 with(x)><<x**3 with(x)> this is the comparison of two functions, but it looks like a left- shift on a function until the second with is encountered. Then you need to backtrack to the shift and convert it to a pair of less-thans before you can successfully translate it. --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list