Ohhhhh, another D-word! I really like distinct. On Sat, May 28, 2016 at 8:19 AM, Steve Dower <steve.do...@python.org> wrote: > Did anyone suggest "distinct type alias"? > > Regardless of what name, I'm fairly sure people will call it whatever the > function to create it is called. So if the function is > typings.distinguish_type(...), then distinguished will stick. > > Top-posted from my Windows Phone > ________________________________ > From: Guido van Rossum > Sent: 5/28/2016 7:38 > To: Steven D'Aprano > Cc: Python-Dev > Subject: Re: [Python-Dev] Adding NewType() to PEP 484 > > Just to add to the list of options, Twitter also came up with > > - invention > > - DomainType > > - TypedAlias > > But seriously I think we should just decide between Derived Type and > Distinguished Type [Alias]. > > The latter comes from the idea that when you write e.g. > > UserId = int > > then UserId is a type alias (that's existing PEP 484 terminology) and > the type checker doesn't distinguish it from int -- you can use it in > places where you logically expect a UserId but to the type checker > those variables have the type int. > > There is even a neat potential "origin story" that would explain why > we'd call it Distinguished Type Alias. > > The story is about gradually converting a large code base to being > consistent: initially you make UserId a regular type alias and you > start putting it in your code incrementally, making sure it has no > mypy errors as you go (but this just treats it as an int). After days, > when you think you are done, you change UserId to a distinguished type > alias and then mypy will point out the places where you've missed > something or you're doing something questionable with user IDs. > > And yes, in the wider context of subclassing, Derived Type is probably > confusing because a subclass is also called a derived class. > > > On Sat, May 28, 2016 at 5:24 AM, Steven D'Aprano <st...@pearwood.info> > wrote: >> On Fri, May 27, 2016 at 09:26:29PM -0700, Guido van Rossum wrote: >> >>> We discussed this over dinner at PyCon, some ideas we came up with: >>> >>> - Dependent types, harking back to a similar concept in Ada >>> (https://en.wikibooks.org/wiki/Ada_Programming/Type_System#Derived_types) >>> which in that language is also spelled with "new". >> >> I started to explain this to my non-programmer wife, I got as far as >> explaining types, and that we need a name for this thing, and she >> stopped me and said >> >> "Please don't tell me this is leading to TypyMcTypeCheck." >> >> [...] >>> - BoatyMcBoatType >> >>> The nice thing about "distinguished" is that it's a relatively rare >>> word so it is easy to remember or look up. >> >> I would have thought that being rare, it would be *harder* to remember. >> >> >>> Personally I'm still in favor of Derived type (but I'm more into >>> ancient programming languages than most folks here). I could also live >>> with Distinguished Type. >> >> I think Derived Type is the nicest of the options. It accurately >> describes what it is: a type derived from another. And its shorter and >> easy to both say and write than "Distinguished type" (which sounds like >> "distinguished gentlemen" -- is it wearing a monocle and a top hat?). >> >> "Distinguished" is too vague for my tastes, it might as well be >> "flibblegubble type". *All* types are distinguished, the type checker >> has to distinguish int from float from list from str, so to call >> NewType("userid", int) a "distinguished type" is only to call it a type. >> >> >> >> -- >> Steve >> _______________________________________________ >> Python-Dev mailing list >> Python-Dev@python.org >> https://mail.python.org/mailman/listinfo/python-dev >> Unsubscribe: >> https://mail.python.org/mailman/options/python-dev/guido%40python.org > > > > -- > --Guido van Rossum (python.org/~guido) > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/steve.dower%40python.org
-- --Guido van Rossum (python.org/~guido) _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com