
At present, Unit# is the only way to turn a lifted type into an unlifted
one. Perhaps
Unlift# or Lower# would make sense? The tricky bit is that one could easily
imagine eventually having a version with a strict constructor, in which
case it becomes a bit hard to guess which is which.
On Wed, Jan 17, 2018 at 6:46 PM, Andrew Martin
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.... ) * 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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries