diff --git a/lib/Data/Config/Suckless/Parse/Megaparsec.hs b/lib/Data/Config/Suckless/Parse/Megaparsec.hs index 6b947fe..343af56 100644 --- a/lib/Data/Config/Suckless/Parse/Megaparsec.hs +++ b/lib/Data/Config/Suckless/Parse/Megaparsec.hs @@ -1,4 +1,5 @@ {-# Language ConstraintKinds #-} +{-# Language UndecidableInstances #-} module Data.Config.Suckless.Parse.Megaparsec ( parseSyntax , parseTop @@ -42,6 +43,9 @@ type Parser r = Parsec () [Char] r type ParseFail = ParseErrorBundle [Char] () +deriving instance Eq (Context MegaParsec) => Eq (Syntax MegaParsec) +deriving instance Ord (Context MegaParsec) => Ord (Syntax MegaParsec) + sc :: Parser () sc = do L.space space1 lineComment empty diff --git a/lib/Data/Config/Suckless/Syntax.hs b/lib/Data/Config/Suckless/Syntax.hs index ba0f5e0..6647ddf 100644 --- a/lib/Data/Config/Suckless/Syntax.hs +++ b/lib/Data/Config/Suckless/Syntax.hs @@ -81,8 +81,6 @@ data Syntax c | Literal (Context c) Literal deriving stock (Generic) -deriving instance Eq (Context c) => Eq (Syntax c) -deriving instance Ord (Context c) => Ord (Syntax c) instance HasContext c (Syntax c) where