
One argument in favor of vacuous is that I'm currently talking to Richard Eisenberg about how to use the new role machinery to possibly let it be an O(1) operation (at least for derived functors). I would rather not remove it and then re-add it. It becomes a code maintenance nightmare for any of us who have to maintain across multiple versions of GHC then. -Edward On Tue, Aug 13, 2013 at 4:20 AM, David Luposchainsky < dluposchainsky@googlemail.com> wrote:
Hey Libraries,
a couple of weeks ago Shachaf proposed adding Void to Base ("Void type in base", 2013-07-17). The discussion period of 2 weeks is over, and there does not seem to be any further discussion of the topic.
I think the responses were generally in favour of `Void` and `absurd`, with somewhat mixed opinions on naming and `vacuous`.
Maybe we should take the time to finish this proposal up? A reminder,
The proposal is just to copy the Data.Void API into base:
data Void -- EmptyDataDecls is in Haskell 2010 absurd :: Void -> a vacuous :: Functor f => f Void -> f a -- instances for Typeable, Data, Generic, Eq, Ord, Show, Read, -- Ix, Exception
I'm not sure about vacuous, it was mentioned that it's only historical (also it's just `fmap absurd` so easily reproducable), which means it would be adding something almost deprecated or redundant to Base (old packages could still import the current void package to get that function if necessary).
Anyway, +1 in general, independent of the previous remark.
David
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries