sexpresso 1.1.0.0 → 1.2.0.0
raw patch · 4 files changed
+21/−18 lines, 4 filesdep ~megaparsecdep ~recursion-schemesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: megaparsec, recursion-schemes
API changes (from Hackage documentation)
- Data.SExpresso.Parse.Generic: decode :: MonadParsec e s m => SExprParser m b a -> m [SExpr b a]
+ Data.SExpresso.Parse.Generic: decode :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m [SExpr b a]
- Data.SExpresso.Parse.Generic: decodeOne :: MonadParsec e s m => SExprParser m b a -> m (SExpr b a)
+ Data.SExpresso.Parse.Generic: decodeOne :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a)
- Data.SExpresso.Parse.Generic: parseSExpr :: MonadParsec e s m => SExprParser m b a -> m (SExpr b a)
+ Data.SExpresso.Parse.Generic: parseSExpr :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a)
- Data.SExpresso.Parse.Generic: parseSExprList :: MonadParsec e s m => SExprParser m b a -> m (SExpr b a)
+ Data.SExpresso.Parse.Generic: parseSExprList :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a)
- Data.SExpresso.Parse.Generic: withLocation :: MonadParsec e s m => SExprParser m b a -> SExprParser m (Located b) (Located a)
+ Data.SExpresso.Parse.Generic: withLocation :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> SExprParser m (Located b) (Located a)
- Data.SExpresso.Parse.Location: located :: MonadParsec e s m => m a -> m (Located a)
+ Data.SExpresso.Parse.Location: located :: (MonadParsec e s m, TraversableStream s) => m a -> m (Located a)
Files
- ChangeLog.md +5/−0
- sexpresso.cabal +8/−10
- src/Data/SExpresso/Parse/Generic.hs +7/−7
- src/Data/SExpresso/Parse/Location.hs +1/−1
ChangeLog.md view
@@ -1,5 +1,10 @@ # Changelog for S-expresso +Version 1.2.0.0+---------------+* Update to stack lts 18.10+* Thanks to Ollie Charles from asking for this update+ Version 1.1.0.0 ---------------
sexpresso.cabal view
@@ -1,13 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.2.+-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: cd4a5d89acd75970af22375142f81c7b7320e72ae7403de680177c6ad12e1116 name: sexpresso-version: 1.1.0.0+version: 1.2.0.0 synopsis: A flexible library for parsing and printing S-expression description: Please see the README on GitHub at <https://github.com/archambaultv/sexpresso#readme> category: Data@@ -44,10 +42,10 @@ ghc-options: -Wall build-depends: base >=4.7 && <5- , bifunctors >=5.5 && <5.6+ , bifunctors ==5.5.* , containers >=0.5 && <0.7- , megaparsec >=7.0 && <=8.0.0- , recursion-schemes >=5.1 && <5.2+ , megaparsec >=7.0 && <9.1.0+ , recursion-schemes >=5.1 && <5.3 , text >=0.2 && <1.3 default-language: Haskell2010 @@ -65,10 +63,10 @@ ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N build-depends: base >=4.7 && <5- , bifunctors >=5.5 && <5.6+ , bifunctors ==5.5.* , containers >=0.5 && <0.7- , megaparsec >=7.0 && <=8.0.0- , recursion-schemes >=5.1 && <5.2+ , megaparsec >=7.0 && <9.1.0+ , recursion-schemes >=5.1 && <5.3 , sexpresso , smallcheck >=1.0 , tasty >=0.8
src/Data/SExpresso/Parse/Generic.hs view
@@ -109,7 +109,7 @@ getAtom (SExprParser _ _ a _ _) = a -- | The 'withLocation' function adds source location to a @'SExprParser'@. See also 'Location'.-withLocation :: (MonadParsec e s m) => SExprParser m b a -> SExprParser m (Located b) (Located a)+withLocation :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> SExprParser m (Located b) (Located a) withLocation (SExprParser pSTag pETag atom sp sr) = let s = do pos <- getSourcePos@@ -251,10 +251,10 @@ (_, SList _ _, _) -> True (SAtom a1, SAtom a2, _) -> getSpacingRule' a1 a2 == SOptional -sepEndBy' :: (MonadParsec e s m) => m (SExpr b a) -> m () -> (a -> a -> SpacingRule) -> m [SExpr b a]+sepEndBy' :: (MonadParsec e s m, TraversableStream s) => m (SExpr b a) -> m () -> (a -> a -> SpacingRule) -> m [SExpr b a] sepEndBy' p sep f = sepEndBy1' p sep f <|> pure [] -sepEndBy1' :: (MonadParsec e s m) => m (SExpr b a) -> m () -> (a -> a -> SpacingRule) -> m [SExpr b a]+sepEndBy1' :: (MonadParsec e s m, TraversableStream s) => m (SExpr b a) -> m () -> (a -> a -> SpacingRule) -> m [SExpr b a] sepEndBy1' p sep f = do x <- p xs <- parseContent x@@ -275,7 +275,7 @@ "A space was expected at " <> sourcePosPretty (fromJust mpos)) mzero -- | The 'parseSExprList' function return a parser for parsing S-expression of the form @'SList' _ _@.-parseSExprList :: (MonadParsec e s m) =>+parseSExprList :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a) parseSExprList def@(SExprParser pSTag pETag _ sp sr) = do c <- pSTag@@ -287,7 +287,7 @@ -- | The 'parseSExpr' function return a parser for parsing -- S-expression ('SExpr'), that is either an atom (@'SAtom' _@) or a -- list @'SList' _ _@. See also 'decodeOne' and 'decode'.-parseSExpr :: (MonadParsec e s m) =>+parseSExpr :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a) parseSExpr def = (getAtom def >>= return . SAtom) <|> (parseSExprList def) @@ -295,7 +295,7 @@ -- containing only one S-expression ('SExpr'). It can parse extra -- whitespace at the beginning and at the end of the file. See also -- 'parseSExpr' and 'decode'.-decodeOne :: (MonadParsec e s m) => SExprParser m b a -> m (SExpr b a)+decodeOne :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m (SExpr b a) decodeOne def = let ws = getSpace def in optional ws *> parseSExpr def <* (optional ws >> eof)@@ -304,7 +304,7 @@ -- containing many S-expression ('SExpr'). It can parse extra -- whitespace at the beginning and at the end of the file. See also -- 'parseSExpr' and 'decodeOne'.-decode :: (MonadParsec e s m) => SExprParser m b a -> m [SExpr b a]+decode :: (MonadParsec e s m, TraversableStream s) => SExprParser m b a -> m [SExpr b a] decode def = let ws = getSpace def in optional ws *> sepEndBy' (parseSExpr def) ws (getSpacingRule def) <* eof
src/Data/SExpresso/Parse/Location.hs view
@@ -42,7 +42,7 @@ deriving (Eq, Ord, Show, Functor) -- | The 'located' function adds a source span to a parser.-located :: (MonadParsec e s m) => m a -> m (Located a)+located :: (MonadParsec e s m, TraversableStream s) => m a -> m (Located a) located parser = do begin <- getSourcePos result <- parser