On Jul 23, 2017 1:56 PM, "MRAB" <pyt...@mrabarnett.plus.com> wrote:

On 2017-07-23 17:08, Todd wrote:


> On Jul 20, 2017 1:13 AM, "David Mertz" <me...@gnosis.cx <mailto:
> me...@gnosis.cx>> wrote:
>
>     I'm concerned in the proposal about losing access to type
>     information (i.e. name) in this proposal.  For example, I might
>     write some code like this now:
>
>      >>> from collections import namedtuple
>      >>> Car = namedtuple("Car", "cost hp weight")
>      >>> Motorcycle = namedtuple("Motorcycle", "cost hp weight")
>      >>> smart = Car(18_900, 89, 949)
>      >>> harley = Motorcyle(18_900, 89, 949)
>      >>> if smart==harley and type(smart)==type(harley):
>     ...     print("These are identical vehicles")
>
>     The proposal to define this as:
>
>      >>> smart = (cost=18_900, hp=89, weight=949)
>      >>> harley = (cost=18_900, hp=89, weight=949)
>
>     Doesn't seem to leave any way to distinguish the objects of
>     different types that happen to have the same fields.  Comparing
>     `smart._fields==harley._fields` doesn't help here, nor does any type
>     constructed solely from the fields.
>
>
> What about making a syntax to declare a type? The ones that come to mind
> are
>
>      name = (x=, y=)
>
> Or
>
>      name = (x=pass, y=pass)
>
> They may not be clear enough, though.
>
> Guido has already declared that he doesn't like those bare forms, so it'll
probably be something like ntuple(...).


Not exactly a literal in that case.

If this is true, why not simply add keyword arguments to tuple(...)?

Something like (a=1, b=2, c=3) makes very clear sense to me, or even (1, 2,
c=3), where the first two are accessible by index only. Or even (1, 2, c:
3), which reminds me of Elixir's expansion of tuple and list keywords.

A tuple is a tuple is a tuple. No types. Just convenient accessors.

-- 

C Anthony
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to