| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Distribution.Fields.ParseResult
Description
A parse result type for parsers from AST to Haskell types.
Synopsis
- data ParseResult src a
- runParseResult :: ParseResult src a -> ([PWarningWithSource src], Either (Maybe Version, NonEmpty (PErrorWithSource src)) a)
- data PSource src
- = PKnownSource src
- | PUnknownSource
- newtype CabalFileSource = PCabalFile (FilePath, ByteString)
- recoverWith :: ParseResult src a -> a -> ParseResult src a
- parseWarning :: Position -> PWarnType -> String -> ParseResult src ()
- parseWarnings :: [PWarning] -> ParseResult src ()
- parseFailure :: Position -> String -> ParseResult src ()
- parseFatalFailure :: Position -> String -> ParseResult src a
- parseFatalFailure' :: ParseResult src a
- getCabalSpecVersion :: ParseResult src (Maybe Version)
- setCabalSpecVersion :: Maybe Version -> ParseResult src ()
- withoutWarnings :: ParseResult src a -> ParseResult src a
- liftParseResult :: (a -> IO (ParseResult src b)) -> ParseResult src a -> IO (ParseResult src b)
- withSource :: src -> ParseResult src a -> ParseResult src a
Documentation
data ParseResult src a Source #
A monad with failure and accumulating errors and warnings.
Instances
| Applicative (ParseResult src) Source # | |
Defined in Distribution.Fields.ParseResult Methods pure :: a -> ParseResult src a # (<*>) :: ParseResult src (a -> b) -> ParseResult src a -> ParseResult src b # liftA2 :: (a -> b -> c) -> ParseResult src a -> ParseResult src b -> ParseResult src c # (*>) :: ParseResult src a -> ParseResult src b -> ParseResult src b # (<*) :: ParseResult src a -> ParseResult src b -> ParseResult src a # | |
| Functor (ParseResult src) Source # | |
Defined in Distribution.Fields.ParseResult Methods fmap :: (a -> b) -> ParseResult src a -> ParseResult src b # (<$) :: a -> ParseResult src b -> ParseResult src a # | |
| Monad (ParseResult src) Source # | |
Defined in Distribution.Fields.ParseResult Methods (>>=) :: ParseResult src a -> (a -> ParseResult src b) -> ParseResult src b # (>>) :: ParseResult src a -> ParseResult src b -> ParseResult src b # return :: a -> ParseResult src a # | |
runParseResult :: ParseResult src a -> ([PWarningWithSource src], Either (Maybe Version, NonEmpty (PErrorWithSource src)) a) Source #
Destruct a ParseResult into the emitted warnings and either
a successful value or
list of errors and possibly recovered a spec-version declaration.
The source of a parse error
Constructors
| PKnownSource src | |
| PUnknownSource |
Instances
newtype CabalFileSource Source #
Constructors
| PCabalFile (FilePath, ByteString) |
Instances
| Generic CabalFileSource Source # | |||||
Defined in Distribution.Parsec.Source Associated Types
Methods from :: CabalFileSource -> Rep CabalFileSource x # to :: Rep CabalFileSource x -> CabalFileSource # | |||||
| Show CabalFileSource Source # | |||||
Defined in Distribution.Parsec.Source Methods showsPrec :: Int -> CabalFileSource -> ShowS # show :: CabalFileSource -> String # showList :: [CabalFileSource] -> ShowS # | |||||
| Eq CabalFileSource Source # | |||||
Defined in Distribution.Parsec.Source Methods (==) :: CabalFileSource -> CabalFileSource -> Bool # (/=) :: CabalFileSource -> CabalFileSource -> Bool # | |||||
| Ord CabalFileSource Source # | |||||
Defined in Distribution.Parsec.Source Methods compare :: CabalFileSource -> CabalFileSource -> Ordering # (<) :: CabalFileSource -> CabalFileSource -> Bool # (<=) :: CabalFileSource -> CabalFileSource -> Bool # (>) :: CabalFileSource -> CabalFileSource -> Bool # (>=) :: CabalFileSource -> CabalFileSource -> Bool # max :: CabalFileSource -> CabalFileSource -> CabalFileSource # min :: CabalFileSource -> CabalFileSource -> CabalFileSource # | |||||
| type Rep CabalFileSource Source # | |||||
Defined in Distribution.Parsec.Source type Rep CabalFileSource = D1 ('MetaData "CabalFileSource" "Distribution.Parsec.Source" "Cabal-syntax-3.18.1.0-inplace" 'True) (C1 ('MetaCons "PCabalFile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FilePath, ByteString)))) | |||||
recoverWith :: ParseResult src a -> a -> ParseResult src a Source #
Recover the parse result, so we can proceed parsing.
runParseResult will still result in Nothing, if there are recorded errors.
parseWarning :: Position -> PWarnType -> String -> ParseResult src () Source #
Add a warning. This doesn't fail the parsing process.
parseWarnings :: [PWarning] -> ParseResult src () Source #
Add multiple warnings at once.
parseFailure :: Position -> String -> ParseResult src () Source #
Add an error, but not fail the parser yet.
For fatal failure use parseFatalFailure
parseFatalFailure :: Position -> String -> ParseResult src a Source #
Add an fatal error.
parseFatalFailure' :: ParseResult src a Source #
A mzero.
getCabalSpecVersion :: ParseResult src (Maybe Version) Source #
Get cabal spec version.
setCabalSpecVersion :: Maybe Version -> ParseResult src () Source #
Set cabal spec version.
withoutWarnings :: ParseResult src a -> ParseResult src a Source #
Forget ParseResults warnings.
Since: 3.4.0.0
liftParseResult :: (a -> IO (ParseResult src b)) -> ParseResult src a -> IO (ParseResult src b) Source #
Chain parsing operations that involve IO actions.
withSource :: src -> ParseResult src a -> ParseResult src a Source #