haskellish-0.2.0: For parsing Haskell-ish languages

Safe HaskellNone
LanguageHaskell2010

Language.Haskellish

Documentation

data Haskellish st a Source #

Constructors

Haskellish 

Fields

Instances
MonadState st (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

get :: Haskellish st st #

put :: st -> Haskellish st () #

state :: (st -> (a, st)) -> Haskellish st a #

MonadError String (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

throwError :: String -> Haskellish st a #

catchError :: Haskellish st a -> (String -> Haskellish st a) -> Haskellish st a #

Monad (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

(>>=) :: Haskellish st a -> (a -> Haskellish st b) -> Haskellish st b #

(>>) :: Haskellish st a -> Haskellish st b -> Haskellish st b #

return :: a -> Haskellish st a #

fail :: String -> Haskellish st a #

Functor (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

fmap :: (a -> b) -> Haskellish st a -> Haskellish st b #

(<$) :: a -> Haskellish st b -> Haskellish st a #

Applicative (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

pure :: a -> Haskellish st a #

(<*>) :: Haskellish st (a -> b) -> Haskellish st a -> Haskellish st b #

liftA2 :: (a -> b -> c) -> Haskellish st a -> Haskellish st b -> Haskellish st c #

(*>) :: Haskellish st a -> Haskellish st b -> Haskellish st b #

(<*) :: Haskellish st a -> Haskellish st b -> Haskellish st a #

Alternative (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

empty :: Haskellish st a #

(<|>) :: Haskellish st a -> Haskellish st a -> Haskellish st a #

some :: Haskellish st a -> Haskellish st [a] #

many :: Haskellish st a -> Haskellish st [a] #

MonadPlus (Haskellish st) Source # 
Instance details

Defined in Language.Haskellish

Methods

mzero :: Haskellish st a #

mplus :: Haskellish st a -> Haskellish st a -> Haskellish st a #

list :: Haskellish st a -> Haskellish st [a] Source #

tuple :: Haskellish st a -> Haskellish st b -> Haskellish st (a, b) Source #

asRightSection :: Haskellish st (a -> b -> c) -> Haskellish st b -> Haskellish st (a -> c) Source #

type Span = ((Int, Int), (Int, Int)) Source #