+1 This is awesome.
BTW, did we totally abandon the question of using block: as RHS? jb On May 5, 2005, at 12:12 AM, Greg Ewing wrote: > How about user-defined keywords? > > Suppose you could write > > statement opening > > def opening(path, mode): > f = open(path, mode) > try: > yield > finally: > close(f) > > which would then allow > > opening "myfile", "w" as f: > do_something_with(f) > > The 'statement' statement declares to the parser that an > identifier is to be treated as a keyword introducing a > block statement when it appears as the first token in a > statement. > > This would allow keywordless block-statements that look > very similar to built-in statements, without any danger of > forgetting to make a function call, since a call would > be implicit in all such block-statements. > > A 'statement' declaration would be needed in all modules > which use the generator, e.g. > > statement opening > from filestuff import opening > > For convenience, this could be abbreviated to > > from filestuff import statement opening > > There could also be an abbreviation > > def statement opening(...): > ... > > for when you're defining and using it in the same module. > > Sufficiently smart editors would understand the 'statement' > declarations and highlight accordingly, making these > user-defined statements look even more like the native > ones. > > -- > Greg Ewing, Computer Science Dept, > +--------------------------------------+ > University of Canterbury, | A citizen of NewZealandCorp, > a | > Christchurch, New Zealand | wholly-owned subsidiary of USA > Inc. | > [EMAIL PROTECTED] > +--------------------------------------+ > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python-dev/jbone > %40place.org > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com