mirror of
https://github.com/github/semantic.git
synced 2024-12-21 22:01:46 +03:00
Define GEq1 instances for a bunch of common functors.
This commit is contained in:
parent
636e096aab
commit
8884e58f43
@ -3,6 +3,7 @@ module Data.Functor.Classes.Eq.Generic
|
|||||||
( genericLiftEq
|
( genericLiftEq
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Data.Functor.Classes
|
||||||
import GHC.Generics
|
import GHC.Generics
|
||||||
import Prologue
|
import Prologue
|
||||||
|
|
||||||
@ -18,6 +19,14 @@ genericLiftEq :: (Generic1 f, GEq1 (Rep1 f)) => (a -> b -> Bool) -> f a -> f b -
|
|||||||
genericLiftEq f a b = gliftEq f (from1 a) (from1 b)
|
genericLiftEq f a b = gliftEq f (from1 a) (from1 b)
|
||||||
|
|
||||||
|
|
||||||
|
-- Eq1 instances
|
||||||
|
|
||||||
|
instance GEq1 [] where gliftEq = liftEq
|
||||||
|
instance GEq1 Maybe where gliftEq = liftEq
|
||||||
|
instance Eq a => GEq1 ((,) a) where gliftEq = liftEq
|
||||||
|
instance Eq a => GEq1 (Either a) where gliftEq = liftEq
|
||||||
|
|
||||||
|
|
||||||
-- Generics
|
-- Generics
|
||||||
|
|
||||||
instance GEq1 U1 where
|
instance GEq1 U1 where
|
||||||
|
Loading…
Reference in New Issue
Block a user