potoki 0.6.3 → 0.6.4
raw patch · 3 files changed
+18/−2 lines, 3 files
Files
- library/Potoki/Fetch.hs +10/−0
- library/Potoki/Transform.hs +7/−1
- potoki.cabal +1/−1
library/Potoki/Fetch.hs view
@@ -41,6 +41,16 @@ Just output -> return (just output) Nothing -> loop +{-# INLINABLE filter #-}+filter :: (input -> Bool) -> Fetch input -> Fetch input+filter predicate (Fetch fetchIO) =+ Fetch $ \ nil just ->+ fix $ \ loop ->+ join $ fetchIO (return nil) $ \ input ->+ if predicate input+ then return (just input)+ else loop+ {-# INLINABLE just #-} just :: Fetch (Maybe element) -> Fetch element just (Fetch fetchIO) =
library/Potoki/Transform.hs view
@@ -9,6 +9,7 @@ take, takeWhile, mapFilter,+ filter, just, distinct, builderChunks,@@ -26,7 +27,7 @@ ) where -import Potoki.Prelude hiding (take, takeWhile)+import Potoki.Prelude hiding (take, takeWhile, filter) import Potoki.Core.Transform import qualified Potoki.Fetch as A import qualified Potoki.Core.Fetch as A@@ -47,6 +48,11 @@ mapFilter :: (input -> Maybe output) -> Transform input output mapFilter mapping = Transform (pure . A.mapFilter mapping)++{-# INLINE filter #-}+filter :: (input -> Bool) -> Transform input input+filter predicate =+ Transform (pure . A.filter predicate) {-# INLINE just #-} just :: Transform (Maybe input) input
potoki.cabal view
@@ -1,7 +1,7 @@ name: potoki version:- 0.6.3+ 0.6.4 synopsis: Simple streaming in IO description: