[Python-Dev] Re: Re: Call for defense of @decorators
Andrew McGregor
andrew at indranet.co.nz
Wed Aug 11 00:19:20 CEST 2004
--On Tuesday, 10 August 2004 7:56 a.m. -0500 Skip Montanaro
<skip at pobox.com> wrote:
> I don't think anybody's come up with a candidate keyword that reads well
> in most/all situations. Consider:
>
> make accepts(int, (int, float))
> make returns(int)
> def foo(arg1, arg2):
> return arg1 * arg2
make accepts(int, (int, float)):
make returns(int):
def foo(arg1, arg2):
return arg1 * arg2
looks more like Python to me. And I know it's nested, but it reads better
IMO.
Aren't we really trying to recreate def as a multi-line lambda that binds
when it's in a context that is not expecting a function argument in block
form? One way of looking at def or any of the other keywords that
introduce blocks is as operators that take block(s) as argument(s).
---------
Andrew McGregor
Director, Scientific Advisor
IndraNet Technologies Ltd
http://www.indranet-technologies.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GS/E/B/PA/SS d+(++) s+:+ a C++$ ULS++++ !P+++(---)$ L++++$ E++ W++ !N
w(+++) !O() M++ V--() Y+$ PGP+ t- !5? X- !R !tv@ b++(++++) DI++ D+++@ G
e+++ h(*)@ r%
------END GEEK CODE BLOCK------
More information about the Python-Dev
mailing list