Naming clash between GHC.Tuple.Unit and ()
There is an absurd naming clash in GHC.Tuple
. The ()
that we have known and loved for a long time is typically pronounced "unit", and the documentation says as much. Directly below it there is a data type called Unit
which is something completely different! I'm not generally one to be too agitated by claims of "Haskell has bad naming" but to describe one type as "The unit datatype" and then directly below it name another type Unit
really takes the biscuit.
Mathematically speaking they both have claim to the name "unit". ()
is the unit of the product (,)
and Unit
is the unit of the product Data.Functor.Compose
. Since the former is both older and the unit of the more common product it's probably best if it retains its historical name. As I understand it Unit
is barely used in end-user Haskell code.
Could we please come up with a new name and plan to deprecate Unit
?