concrete functor and monad transformers
#8Data.Functor.Class: Wrapper type that resolves e.g. (Eq (f a)) to (Eq1 f, Eq a)
newtype Wrap f a = Wrap {unwrap :: f a}
instance (Eq1 f, Eq a) => Eq (Wrap f a) where
Wrap x == Wrap y = eq1 x y
We should also have analogous instances for Ord, Show, Read.
This is the same idea as
Liftand `Lift2Er, sorry, I accidentally submitted the last comment too early.
This is the same idea as
LiftandLift2fromprelude-extras, correct? (I'm not sure if I like either one of those names, to be honest, but we'd have to name it something.)On second thought, I'd rather not name it
Lift, since it might become an important thing soon ( https://ghc.haskell.org/trac/ghc/ticket/1830 ).In that case, I have no better name suggestions, so let's go with
Wrap:)- status set to closed
Eq1 and friends have moved to base in preparation for GHC 8.0
IdentityTcan be used instead.