Name of 1-Tuple Data Type

Ryan Reich ryan.reich at gmail.com
Thu Jan 18 00:34:26 UTC 2018


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> 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)
* OneTuple (https://hackage.haskell.org/package/OneTuple-0.2.1/docs/
Data-Tuple-OneTuple.html)
* 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
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20180117/fb03c988/attachment.html>


More information about the Libraries mailing list