| Stability | experimental |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
Language.Egison.Parser.Pattern.Mode.Haskell
Description
A parser for Egison pattern expressions in Haskell source code.
Synopsis
- type Expr = Expr (QName ()) (Name ()) (Exp SrcSpanInfo)
- parseExpr :: MonadError (Errors String) m => ParseMode -> String -> m Expr
- parseExprWithFixities :: MonadError (Errors String) m => ParseMode -> [Fixity] -> String -> m Expr
- type ParseMode = ParseMode (QName ()) (Name ()) (Exp SrcSpanInfo) String
- type ParseFixity = ParseFixity (QName ()) String
- type Fixity = Fixity (QName ())
- makeHaskellMode :: ParseMode -> ParseMode
- makeFixity :: Fixity -> Fixity
- makeParseFixity :: Fixity -> Maybe ParseFixity
- makeParseFixities :: [Fixity] -> [ParseFixity]
Parsers
type Expr = Expr (QName ()) (Name ()) (Exp SrcSpanInfo) Source #
Type synonym of Expr to be parsed in Haskell's source code.
parseExprWithFixities :: MonadError (Errors String) m => ParseMode -> [Fixity] -> String -> m Expr Source #
Parse Expr using ParseMode from haskell-src-exts, while supplying an explicit list of ParseFixity.
Note that fixities obtained from ParseMode are just ignored here.
Converting haskell-src-exts's entities
type ParseFixity = ParseFixity (QName ()) String Source #
Type synonym of ParseFixity to parse Expr.
makeHaskellMode :: ParseMode -> ParseMode Source #
makeFixity :: Fixity -> Fixity Source #
makeParseFixity :: Fixity -> Maybe ParseFixity Source #
Build ParseFixity using Fixity to parse Haskell-style operators
Note that a built-in constructor with special syntax, that is represented as Special in QName, is just ignored here.
makeParseFixities :: [Fixity] -> [ParseFixity] Source #