File tree Expand file tree Collapse file tree 2 files changed +10
-10
lines changed Expand file tree Collapse file tree 2 files changed +10
-10
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,8 @@ import Control.Monad.Trans.Class ( MonadTrans, lift )
2727import qualified Data.Aeson as A
2828import Data.Functor.Classes ( Show1
2929 , liftShowsPrec
30- , showsUnaryWith )
30+ , showsUnaryWith
31+ , Eq1 (liftEq ) )
3132import Data.HashMap.Lazy ( HashMap )
3233import Data.Text ( Text )
3334import Data.Typeable ( Typeable )
@@ -96,6 +97,14 @@ instance Show r => Show (NValueF p m r) where
9697 showsCon1 con a d =
9798 showParen (d > 10 ) $ showString (con ++ " " ) . showsPrec 11 a
9899
100+ instance Eq1 (NValueF p m ) where
101+ liftEq _ (NVConstantF x) (NVConstantF y) = x == y
102+ liftEq _ (NVStrF x) (NVStrF y) = x == y
103+ liftEq eq (NVListF x) (NVListF y) = liftEq eq x y
104+ liftEq eq (NVSetF x _ ) (NVSetF y _ ) = liftEq eq x y
105+ liftEq _ (NVPathF x ) (NVPathF y ) = x == y
106+ liftEq _ _ _ = False
107+
99108lmapNValueF :: Functor m => (b -> a ) -> NValueF a m r -> NValueF b m r
100109lmapNValueF f = \ case
101110 NVConstantF a -> NVConstantF a
Original file line number Diff line number Diff line change @@ -31,7 +31,6 @@ import Control.Monad.Trans.Class
3131import Control.Monad.Trans.Except
3232import Data.Align
3333import Data.Eq.Deriving
34- import Data.Functor.Classes
3534import Data.Functor.Identity
3635import qualified Data.HashMap.Lazy as M
3736import Data.These
@@ -175,12 +174,4 @@ thunkEqM lt rt = force lt $ \lv -> force rt $ \rv ->
175174 (NVSet _ _ , NVSet _ _ ) -> unsafePtrEq
176175 _ -> valueEqM lv rv
177176
178- instance Eq1 (NValueF p m ) where
179- liftEq _ (NVConstantF x) (NVConstantF y) = x == y
180- liftEq _ (NVStrF x) (NVStrF y) = x == y
181- liftEq eq (NVListF x) (NVListF y) = liftEq eq x y
182- liftEq eq (NVSetF x _ ) (NVSetF y _ ) = liftEq eq x y
183- liftEq _ (NVPathF x ) (NVPathF y ) = x == y
184- liftEq _ _ _ = False
185-
186177$ (deriveEq1 ''NValue')
You can’t perform that action at this time.
0 commit comments