-- |
-- Module      : Common.Parsing.ParseStatus
-- License     : BSD3
-- Maintainer  : tbidne@gmail.com
module Common.Parsing.ParseStatus
  ( ParseStatus (..),
    module Common.Parsing.ParseErr,
  )
where

import Common.Parsing.ParseErr

-- | Describes the outcome of a parse attempt into an accumulator @acc@.
data ParseStatus acc
  = PFailure ParseErr
  | PSuccess acc
  deriving (ParseStatus acc -> ParseStatus acc -> Bool
(ParseStatus acc -> ParseStatus acc -> Bool)
-> (ParseStatus acc -> ParseStatus acc -> Bool)
-> Eq (ParseStatus acc)
forall acc. Eq acc => ParseStatus acc -> ParseStatus acc -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ParseStatus acc -> ParseStatus acc -> Bool
$c/= :: forall acc. Eq acc => ParseStatus acc -> ParseStatus acc -> Bool
== :: ParseStatus acc -> ParseStatus acc -> Bool
$c== :: forall acc. Eq acc => ParseStatus acc -> ParseStatus acc -> Bool
Eq, Int -> ParseStatus acc -> ShowS
[ParseStatus acc] -> ShowS
ParseStatus acc -> String
(Int -> ParseStatus acc -> ShowS)
-> (ParseStatus acc -> String)
-> ([ParseStatus acc] -> ShowS)
-> Show (ParseStatus acc)
forall acc. Show acc => Int -> ParseStatus acc -> ShowS
forall acc. Show acc => [ParseStatus acc] -> ShowS
forall acc. Show acc => ParseStatus acc -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ParseStatus acc] -> ShowS
$cshowList :: forall acc. Show acc => [ParseStatus acc] -> ShowS
show :: ParseStatus acc -> String
$cshow :: forall acc. Show acc => ParseStatus acc -> String
showsPrec :: Int -> ParseStatus acc -> ShowS
$cshowsPrec :: forall acc. Show acc => Int -> ParseStatus acc -> ShowS
Show)