Andrew Martin
2018-01-17 23:46:30 UTC
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.
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
-Andrew Thaddeus Martin