packages feed

egison-pattern-src-haskell-mode 0.1.0.0 → 0.1.1.0

raw patch · 3 files changed

+22/−7 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Language.Egison.Parser.Pattern.Mode.Haskell: parseExprWithParseFixities :: MonadError (Errors String) m => ParseMode -> [ParseFixity] -> String -> m Expr

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+## 0.1.1.0++- Correct some documentations+- Add `parseExprWithParseFixities` to configure parsers flexibly (e.g. parse as `++`, but interpret it as `join`)+ ## 0.1.0.0  - Initial Release
egison-pattern-src-haskell-mode.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.0 name:               egison-pattern-src-haskell-mode-version:            0.1.0.0+version:            0.1.1.0 synopsis:   Parser and pretty printer for Egison pattern expressions in Haskell source code 
src/Language/Egison/Parser/Pattern/Mode/Haskell.hs view
@@ -12,6 +12,7 @@     Expr   , parseExpr   , parseExprWithFixities+  , parseExprWithParseFixities   -- * Converting @haskell-src-exts@'s entities   , ParseMode   , ParseFixity@@ -92,7 +93,6 @@     Left  err          -> Left err  -- | Build 'Egison.Fixity' using 'Haskell.Fixity' from @haskell-src-exts@.--- Note that a built-in constructor with special syntax, that is represented as 'Special' in 'QName', is just ignored here. makeFixity :: Haskell.Fixity -> Fixity makeFixity (Haskell.Fixity assoc prec name) = fixity  where@@ -146,7 +146,7 @@ parseExpr mode@Haskell.ParseMode { Haskell.parseFilename } =   Egison.parseExpr (makeHaskellMode mode) parseFilename --- | Parse 'Expr' using 'Haskell.ParseMode' from @haskell-src-exts@, while supplying an explicit list of 'ParseFixity'.+-- | Parse 'Expr' using 'Haskell.ParseMode' from @haskell-src-exts@, while supplying an explicit list of 'Fixity'. -- Note that fixities obtained from 'Haskell.ParseMode' are just ignored here. parseExprWithFixities   :: MonadError (Errors String) m@@ -154,9 +154,19 @@   -> [Fixity]   -> String   -> m Expr-parseExprWithFixities mode@Haskell.ParseMode { Haskell.parseFilename } fixities+parseExprWithFixities mode =+  parseExprWithParseFixities mode . mapMaybe makeParseFixity++-- | Parse 'Expr' using 'Haskell.ParseMode' from @haskell-src-exts@, while supplying an explicit list of 'ParseFixity'.+-- Note that fixities obtained from 'Haskell.ParseMode' are just ignored here.+parseExprWithParseFixities+  :: MonadError (Errors String) m+  => Haskell.ParseMode+  -> [ParseFixity]+  -> String+  -> m Expr+parseExprWithParseFixities mode@Haskell.ParseMode { Haskell.parseFilename } fixities   = Egison.parseExpr hsModeWithFixities parseFilename  where-  hsMode = makeHaskellMode mode-  hsModeWithFixities =-    hsMode { Egison.fixities = mapMaybe makeParseFixity fixities }+  hsMode             = makeHaskellMode mode+  hsModeWithFixities = hsMode { Egison.fixities }