[Python-ideas] [Python-3000] PEP 3107 Function Annotations: overloadable ->

Tony Lownds tony at pagedna.com
Tue Jan 2 17:33:00 CET 2007


On Jan 1, 2007, at 10:34 PM, Josiah Carlson wrote:
> -1 on the -> operator as specified in the email you link.  There is no
> reason to add aribtrary operators for call-site annotations.

What was the arbitrary operator? -> is not arbitrary, and there was a  
reason
given to add it.

> PEP 3107
> has already defined the syntax for function definition site  
> annotations
> as follows...
>
>     def name(argument=default:annotation) -> annotation:
>         body
>

You mean

def name(argument:annotation=default)

> The mail you link, talks about an arbitrary -> operator for call-site
> annotations.  Without seeing actual use-cases where a -> operator  
> would
> be useful in the real-world, I can't help but be -1 on the -> operator
> and -1 on the __returns__ method.

That email had a use case... The gain is being able to write

   def wrap(text: str, split: Function(str)-> list):

instead of

   def wrap(text: str, split: Function(str) == list):

or

   def wrap(text: str, split: Function(str, returns=list)):

or one of the other methods that Kay came up with.

-Tony





More information about the Python-ideas mailing list