Following discussion on c.l.py I've just submitted: http://sourceforge.net/patch/?func=detailpatch&patch_id=103441&group_id=5470 which implements a syntax for adding function attributes inline: >>> def f(a) having (publish=1): ... print 1 ... >>> f.publish 1 It uses an "import-as" like strategy to avoid makeing "having" a keyword (which interacts a bit badly with error reporting, as it happens). Obviously, it would be easy to change "having" to a different word. Another idea I had was: >>> def f(a) having (.publish=1): ... print 1 ... >>> f.publish 1 to emphasize the attributeness of what's going on, but I didn't like this as much in practice (I always forgot the period!). Emile van Sebille also suggested >>> d = {'a':1} >>> def f(a) having (**d): ... print 1 ... >>> f.a 1 which I haven't implemented, because I didn't really like it, but I thought I'd mention. I'll do test suites and documentation in time, but I thought I'd call in here to check the idea wasn't DOA. What do you all think? Cheers, M. -- surely, somewhere, somehow, in the history of computing, at least one manual has been written that you could at least remotely attempt to consider possibly glancing at. -- Adam Rixey
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4