-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | For parsing Haskell-ish languages -- -- A library for parsing miniature and esoteric languages that are -- similar to Haskell @package haskellish @version 0.3.1 module Language.Haskellish type Span = ((Int, Int), (Int, Int)) data ParseError NonFatal :: Span -> Text -> ParseError Fatal :: Span -> Text -> ParseError data Haskellish st a Haskellish :: (st -> Exp SrcSpanInfo -> Either ParseError (a, st)) -> Haskellish st a [_run] :: Haskellish st a -> st -> Exp SrcSpanInfo -> Either ParseError (a, st) runHaskellish :: Haskellish st a -> st -> Exp SrcSpanInfo -> Either String (a, st) parseAndRun :: Haskellish st a -> st -> String -> Either (Span, Text) (a, st) parseWithModeAndRun :: ParseMode -> Haskellish st a -> st -> String -> Either (Span, Text) (a, st) removeComments :: String -> String removeCommentsSingleLine :: String -> String removeCommentsMultiLine :: String -> String removeCommentsLiteralString :: String -> String exp :: Haskellish st (Exp SrcSpanInfo) fatal :: Text -> Haskellish st a nonFatal :: Text -> Haskellish st a () :: Haskellish st a -> Text -> Haskellish st a () :: Haskellish st a -> Text -> Haskellish st a required :: Haskellish st a -> Haskellish st a (<*!>) :: Haskellish st (a -> b) -> Haskellish st a -> Haskellish st b applicationExpressions :: Exp SrcSpanInfo -> Either ParseError (Exp SrcSpanInfo, Exp SrcSpanInfo) identifier :: Haskellish st String reserved :: String -> Haskellish st () string :: Haskellish st String integer :: Haskellish st Integer rational :: Haskellish st Rational rationalOrInteger :: Haskellish st Rational list :: Haskellish st a -> Haskellish st [a] listExpressions :: Exp SrcSpanInfo -> Either ParseError [Exp SrcSpanInfo] tuple :: Haskellish st a -> Haskellish st b -> Haskellish st (a, b) asRightSection :: Haskellish st (a -> b -> c) -> Haskellish st b -> Haskellish st (a -> c) ifThenElse :: Haskellish st a -> Haskellish st b -> Haskellish st c -> Haskellish st (a, b, c) collectDoStatements :: Exp SrcSpanInfo -> [Exp SrcSpanInfo] listOfDoStatements :: Haskellish st a -> Haskellish st [a] span :: Haskellish st Span expToSpan :: Exp SrcSpanInfo -> Span srcSpanInfoToSpan :: SrcSpanInfo -> Span reverseApplication :: Haskellish st a -> Haskellish st (a -> b) -> Haskellish st b -- | binaryApplication targets the specific situation of parsing a function -- that is applied to two arguments, given parsers for the function and -- each of the two arguments. This is intended for rare cases - in most -- cases, Haskellish's Applicative instance will be a preferred way of -- parsing function application. Unlike the applicative instance, this -- function returns the three components (function and two arguments) -- separately, ie. the function is not actually applied to its arguments -- in the return type. binaryApplication :: Haskellish st f -> Haskellish st a -> Haskellish st b -> Haskellish st (f, a, b) -- | functionApplication parses most cases where one thing is applied to -- another. Like binaryApplication, it is is intended for rare cases -- where one wants to match the pattern of one thing being applied to -- another, without that application "actually" taking place - the parsed -- sub-expressions are returned instead. functionApplication :: Haskellish st a -> Haskellish st b -> Haskellish st (a, b) -- | enumFromTo matches anything with the following form: [a..b] enumFromTo :: Haskellish st a -> Haskellish st b -> Haskellish st (a, b) -- | enumFromThenTo matches anything with theform [a,b..c] enumFromThenTo :: Haskellish st a -> Haskellish st b -> Haskellish st c -> Haskellish st (a, b, c) instance GHC.Base.Functor (Language.Haskellish.Haskellish st) instance GHC.Base.Applicative (Language.Haskellish.Haskellish st) instance GHC.Base.Alternative (Language.Haskellish.Haskellish st) instance GHC.Base.Monad (Language.Haskellish.Haskellish st) instance GHC.Base.MonadPlus (Language.Haskellish.Haskellish st) instance Control.Monad.State.Class.MonadState st (Language.Haskellish.Haskellish st) instance Control.Monad.Error.Class.MonadError Data.Text.Internal.Text (Language.Haskellish.Haskellish st) module Language.Haskellish.TH grabExp :: String -> Q Exp grabInfoMap :: [String] -> Q (Map String Info)