Name of 1-Tuple Data Type

Andreas Abel abela at chalmers.se
Thu Jan 18 08:27:47 UTC 2018


I deem this feature outside of the mainstream, so it should not occupy a 
short nice name.

I suggest  UnaryTuple.

On 18.01.2018 09:22, Simon Peyton Jones via Libraries wrote:
> I quite like Solo.
> 
> Simon
> 
> *From:*Libraries [mailto:libraries-bounces at haskell.org] *On Behalf Of 
> *Theodore Lief Gannon
> *Sent:* 18 January 2018 02:42
> *To:* Ryan Reich <ryan.reich at gmail.com>
> *Cc:* Haskell Libraries <Libraries at haskell.org>
> *Subject:* Re: Name of 1-Tuple Data Type
> 
> I've seen Only in the wild, and it's probably my favorite of the initial 
> suggestions for the same reasons as Ryan. Mono is my second pick from 
> that list.
> 
> Id is very clean, but I could see pedagogical issues arising from name 
> confusion. Sing(le(ton)) is a terrible idea for the same reason.
> 
> Venturing my own paint swatch: Solo fits in nicely with the established 
> size-specific names (pair, triple, etc.) and has all the good traits: 
> short, self-explanatory, nothing with a confusingly similar name (that I 
> know of).
> 
> On Jan 17, 2018 4:35 PM, "Ryan Reich" <ryan.reich at gmail.com 
> <mailto:ryan.reich at gmail.com>> wrote:
> 
>     Only has two virtues I can see easily: it's short (shorter than
>     almost all the others), and it has the same feel as Maybe.
> 
>     There is also Id, the name of the mathematical function that this
>     type (and corresponding data) constructor is. Less pithy but even
>     less intrusive.
> 
>     On Jan 17, 2018 15:47, "Andrew Martin" <andrew.thaddeus at gmail.com
>     <mailto:andrew.thaddeus at gmail.com>> wrote:
> 
>         Required background information:
>         https://ghc.haskell.org/trac/ghc/ticket/14673
> 
>         GHC has a one-tuple (both a boxed variant and an unboxed
>         variant). The unboxed variant currently must be fully applied
>         whenever it is used. This is in stark contrast to all the other
>         n-tuples (n > 1). It stems entirely from an issue of syntax. The
>         solution decided on is to provide a normal prefix name for the
>         1-tuple. The name that GHC uses internally for this type is
>         `Unit#` (there is also a boxed variant Unit). However, in the
>         haskell community, the word "unit" already refers to the nullary
>         tuple, not the unary tuple. So, we're bikeshedding the name.
> 
>         Here are some possible options:
> 
>         * Unary (as in unary tuple)
> 
>         * Single (as in single, double, triple)
> 
>         * Singleton (as is singleton, doubleton, tripleton)
> 
>         * Only
>         (https://hackage.haskell.org/package/Only-0.1/docs/Data-Tuple-Only.html
>         <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhackage.haskell.org%2Fpackage%2FOnly-0.1%2Fdocs%2FData-Tuple-Only.html&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=fMbHCFU%2Br3JHwmI8a4QgHD26fhoclfklE3xA0O6tCE4%3D&reserved=0>)
> 
>         * OneTuple
>         (https://hackage.haskell.org/package/OneTuple-0.2.1/docs/Data-Tuple-OneTuple.html
>         <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhackage.haskell.org%2Fpackage%2FOneTuple-0.2.1%2Fdocs%2FData-Tuple-OneTuple.html&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=rRLW8KJoKT5IQ5Y6s3kMrUOiUGk6xa77zb5VvGuAfGw%3D&reserved=0>)
> 
>         * Uni (means "one" in latin or greek or something like that)
> 
>         * Mono (means "one" in latin or greek or something like that)
> 
>         I would appreciate any feedback on the suggestions I provided or
>         any additional suggestions for the name. If you have concerns
>         about the feature itself, comment on the GHC Trac ticket. I'd
>         prefer to keep this thread focused on just the problem of coming
>         up with a name.
> 
>         -- 
> 
>         -Andrew Thaddeus Martin
> 
>         _______________________________________________
>         Libraries mailing list
>         Libraries at haskell.org <mailto:Libraries at haskell.org>
>         http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>         <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=AytyB%2BhKwE1TDDc8ohTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&reserved=0>
> 
> 
>     _______________________________________________
>     Libraries mailing list
>     Libraries at haskell.org <mailto:Libraries at haskell.org>
>     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>     <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Flibraries&data=02%7C01%7Csimonpj%40microsoft.com%7C3db602b14f26474965ff08d55e1d285f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636518401685292292&sdata=AytyB%2BhKwE1TDDc8ohTJ9gDcCZgcizoyt8Tmue0u9Zs%3D&reserved=0>
> 
> 
> 
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
> 


-- 
Andreas Abel  <><      Du bist der geliebte Mensch.

Department of Computer Science and Engineering
Chalmers and Gothenburg University, Sweden

andreas.abel at gu.se
http://www.cse.chalmers.se/~abela/


More information about the Libraries mailing list