[quote] Problems with this form: - it hides crucial information (e.g. that it is a static method) after the signature, where it is easily missed - it's easy to miss the transition between a long argument list and a long decorator list - it's cumbersome to cut and paste a decorator list for reuse, because it starts and ends in the middle of a line Given that the whole point of adding decorator syntax is to move the decorator from the end ("foo = staticmethod(foo)" after a 100-line body) to the front, where it is more in-your-face, it should IMO be moved all the way to the front. [end quote] Ah Jeeze :-) Are you really, truly saying that you want to introduce @ to help people format their declarations? This just seems like complete nonsense to me. How about: class C(object): def longMethodNameForEffect( longArgumentOne=None, longArgumentTwo=42)\ [ staticmethod, funcattrs(grammar="'@' dotted_name [ '(' [arglist] ')' ]", status="experimental", author="BDFL") ]: SNIP or even: class C(object): def longMethodNameForEffect( longArgumentOne=None, longArgumentTwo=42)\ \ # ***** DECORATION ***** [ staticmethod, funcattrs(grammar="'@' dotted_name [ '(' [arglist] ')' ]", status="experimental", author="BDFL") ]: SNIP Isn't "a total jumble of stuff ending with a smiley." a complete red herring? Look, there is a lot of information that has to be presented, whatever the means. How is _any_ syntax going to simplify: funcattrs(grammar="'@' dotted_name [ '(' [arglist] ')' ]", status="experimental", author="BDFL") ?? And are you seriously saying that problems cutting and pasting should drive this discussion? real-python-programmers-don't-need-help-formatting-ly yours, Edward P.S. In Leo one would render this: class C(object): def longMethodNameForEffect( longArgumentOne=None, longArgumentTwo=42) [ << decoration for longMethodNameForEffect >> ]: SNIP but I suppose that's not relevant :-) BTW, << decoration for longMethodNameForEffect >> would be syntax colored in red by default (with blue << and >>) so it would stand out. EKR -------------------------------------------------------------------- Edward K. Ream email: edreamleo at charter.net Leo: Literate Editor with Outlines Leo: http://webpages.charter.net/edreamleo/front.html --------------------------------------------------------------------
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