packages feed

mini 1.5.2.0 → 1.5.3.0

raw patch · 3 files changed

+25/−2 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Mini.Transformers.ParserT: findAll :: (Monad m, Eq s, Show s) => ParserT s m a -> ParserT s m [a]
+ Mini.Transformers.ParserT: findAll1 :: (Monad m, Eq s, Show s) => ParserT s m a -> ParserT s m [a]
+ Mini.Transformers.ParserT: till1 :: (Monad m, Eq s) => ParserT s m a -> ParserT s m b -> ParserT s m [a]

Files

CHANGELOG.md view
@@ -1,3 +1,10 @@+1.5.3.0 [2025-01-09]+--------------------+* Mini.Transformers.ParserT:+  * Add combinator 'till1'+  * Add combinator 'findAll'+  * Add combinator 'findAll1'+ 1.5.2.0 [2025-01-08] -------------------- * Mini.Data.Map:
Mini/Transformers/ParserT.hs view
@@ -29,6 +29,7 @@   sepBy,   sepBy1,   till,+  till1,   chainl1,   chainr1,   between,@@ -37,6 +38,8 @@   accept,   findFirst,   findLast,+  findAll,+  findAll1,   annotate, ) where @@ -44,6 +47,7 @@   Alternative,   empty,   many,+  some,   (<|>),  ) import Control.Monad (@@ -215,8 +219,12 @@  -- | Parse zero or more @p@ until @q@ succeeds via @p \`till\` q@ till :: (Monad m, Eq s) => ParserT s m a -> ParserT s m b -> ParserT s m [a]-till p end = ([] <$ end) <|> ((:) <$> p <*> till p end)+till p end = ([] <$ end) <|> till1 p end +-- | Parse one or more @p@ until @q@ succeeds via @p \`till1\` q@+till1 :: (Monad m, Eq s) => ParserT s m a -> ParserT s m b -> ParserT s m [a]+till1 p end = (:) <$> p <*> till p end+ -- | Parse one or more @p@ left-associatively chained by @f@ via @chainl1 p f@ chainl1   :: (Monad m, Eq s)@@ -274,6 +282,14 @@ -- | Find and parse the last instance of @p@ via @findLast p@ findLast :: (Monad m, Eq s, Show s) => ParserT s m a -> ParserT s m a findLast p = findFirst p >>= flip option (findLast p)++-- | Find and parse zero or more instances of @p@ via @findAll p@+findAll :: (Monad m, Eq s, Show s) => ParserT s m a -> ParserT s m [a]+findAll = many . findFirst++-- | Find and parse one or more instances of @p@ via @findAll1 p@+findAll1 :: (Monad m, Eq s, Show s) => ParserT s m a -> ParserT s m [a]+findAll1 = some . findFirst  -- | Prepend an error message to that of a parser annotate :: (Monad m) => String -> ParserT s m a -> ParserT s m a
mini.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               mini-version:            1.5.2.0+version:            1.5.3.0 license:            MIT license-file:       LICENSE author:             Victor Wallsten <victor.wallsten@protonmail.com>