On Sun, Jun 16, 2019 at 8:58 AM Dan Sommers
<2qdxy4rzwzuui...@potatochowder.com> wrote:
>
> On 6/16/19 7:49 AM, Franklin? Lee wrote:
>
>  > On Sat, Jun 15, 2019 at 10:26 PM Guido van Rossum <gu...@python.org>
> wrote:
>
>  >> I don't actually know how viable this proposal is, but given that
>  >> it's being debated at some length, I'd like to put in my opinion that
>  >> *if* we're going to define an operator that's (roughly) synonymous
>  >> with issubclass(), it should be '<:', which is used in other
>  >> languages (e.g. Scala) and notational systems
>  >> (https://en.wikipedia.org/wiki/Subtyping). Overloading '<=' would be
>  >> easier to implement, but would also cause enough confusion that I
>  >> think we should avoid it at all cost.
>
> [...]
>
>  > I don't think the proposal is viable. It might have been viable if one
>  > of these conditions were true:
>
>  > 1. A lot more programmers learned, from the start, to think of types
>  > as collections of their instances. Then the consistency would pay off,
>  > by reducing mental load for those programmers.
>
> Disclaimer:  I am *not* an expert on types and typing systems.  That
> said:
>
> How would I "think of types as collections of their instances"?  For
> example, in what sense is the type list a collection of instances of
> lists?  Or the type int a collection of instances of integers?
>
> In my mind, a type is a description/container/shortand for a collection
> of properties or behaviors of instances of that type.  For example, I'd
> much rather know that I can access a specific element of a collection by
> index than know that the collection is a list, or that some object can
> present a message to the user rather than that object being an instance
> of some logging class.  I think that duck typing is exactly what I just
> described:  I can have a "file-like object" that behaves like a file,
> whether or not it represents an actual file in a filesystem.
>
> I learned, not quite from the start, but certainly early on, that what
> an object *does* (i.e., its properties and behaviors) is more important
> than what an object *is* (i.e., its type).

The proposed feature is for expressing type relations, which only
matters when you care about types. The feature will only be useful
when you care about types. The syntax will only help/hurt readability
when the code cares about types.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/LRZVMO74LWLX3N3BDDTQ7QRY45BHYDKW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to