Cabal-3.4.0.0: A framework for packaging Haskell software
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Fields.LexerMonad

Description

 
Synopsis

Documentation

data LexState Source #

Constructors

LexState 

Fields

data LexResult a Source #

Constructors

LexResult !LexState a 

newtype Lex a Source #

Constructors

Lex 

Fields

Instances

Instances details
Monad Lex # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

(>>=) :: Lex a -> (a -> Lex b) -> Lex b Source #

(>>) :: Lex a -> Lex b -> Lex b Source #

return :: a -> Lex a Source #

Functor Lex # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

fmap :: (a -> b) -> Lex a -> Lex b Source #

(<$) :: a -> Lex b -> Lex a Source #

Applicative Lex # 
Instance details

Defined in Distribution.Fields.LexerMonad

Methods

pure :: a -> Lex a Source #

(<*>) :: Lex (a -> b) -> Lex a -> Lex b Source #

liftA2 :: (a -> b -> c) -> Lex a -> Lex b -> Lex c Source #

(*>) :: Lex a -> Lex b -> Lex b Source #

(<*) :: Lex a -> Lex b -> Lex a Source #

execLexer :: Lex a -> InputStream -> ([LexWarning], a) Source #

Execute the given lexer on the supplied input stream.

data LexWarning Source #

Instances

Instances details
Show LexWarning # 
Instance details

Defined in Distribution.Fields.LexerMonad

addWarning :: LexWarningType -> Lex () Source #

Add warning at the current position