{-# LANGUAGE DerivingStrategies #-} module Data.Medea.Parser.Types (MedeaParser, ParseError (..)) where import Data.Text (Text) import Text.Megaparsec (Parsec, ShowErrorComponent, showErrorComponent) data ParseError = IdentifierTooLong {-# UNPACK #-} !Text | ExpectedReservedIdentifier {-# UNPACK #-} !Text | LeadingZero {-# UNPACK #-} !Text | ConflictingSpecRequirements | EmptyLengthArraySpec | EmptyArrayElements | EmptyStringValuesSpec deriving stock (ParseError -> ParseError -> Bool (ParseError -> ParseError -> Bool) -> (ParseError -> ParseError -> Bool) -> Eq ParseError forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ParseError -> ParseError -> Bool $c/= :: ParseError -> ParseError -> Bool == :: ParseError -> ParseError -> Bool $c== :: ParseError -> ParseError -> Bool Eq, Eq ParseError Eq ParseError -> (ParseError -> ParseError -> Ordering) -> (ParseError -> ParseError -> Bool) -> (ParseError -> ParseError -> Bool) -> (ParseError -> ParseError -> Bool) -> (ParseError -> ParseError -> Bool) -> (ParseError -> ParseError -> ParseError) -> (ParseError -> ParseError -> ParseError) -> Ord ParseError ParseError -> ParseError -> Bool ParseError -> ParseError -> Ordering ParseError -> ParseError -> ParseError forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ParseError -> ParseError -> ParseError $cmin :: ParseError -> ParseError -> ParseError max :: ParseError -> ParseError -> ParseError $cmax :: ParseError -> ParseError -> ParseError >= :: ParseError -> ParseError -> Bool $c>= :: ParseError -> ParseError -> Bool > :: ParseError -> ParseError -> Bool $c> :: ParseError -> ParseError -> Bool <= :: ParseError -> ParseError -> Bool $c<= :: ParseError -> ParseError -> Bool < :: ParseError -> ParseError -> Bool $c< :: ParseError -> ParseError -> Bool compare :: ParseError -> ParseError -> Ordering $ccompare :: ParseError -> ParseError -> Ordering $cp1Ord :: Eq ParseError Ord, Int -> ParseError -> ShowS [ParseError] -> ShowS ParseError -> String (Int -> ParseError -> ShowS) -> (ParseError -> String) -> ([ParseError] -> ShowS) -> Show ParseError forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ParseError] -> ShowS $cshowList :: [ParseError] -> ShowS show :: ParseError -> String $cshow :: ParseError -> String showsPrec :: Int -> ParseError -> ShowS $cshowsPrec :: Int -> ParseError -> ShowS Show) instance ShowErrorComponent ParseError where showErrorComponent :: ParseError -> String showErrorComponent = ParseError -> String forall a. Show a => a -> String show type MedeaParser = Parsec ParseError Text