To make up for my total misunderstanding of what you were asking before, I hereby offer you the Plumbing module, available here: https://bitbucket.org/mtnviewmark/haskell-playground/src/2d022b576c4e/Plumbing.hs
With it, I think you can construct the kinds of pipelines you describe with the composition aspects you desire: > :load Plumbing.hs [1 of 1] Compiling Plumbing ( Plumbing.hs, interpreted ) Ok, modules loaded: Plumbing. > let filterUntil cond start end = (passUntil (>=start) =|= pfilter cond) =+= > passWhile (<end) > let filterUntilPlus1 cond start end = filterUntil cond start end =+= pass 1 > filterUntil even 10 15 `pump` [1..] [2,4,6,8,10,11,12,13,14] > filterUntilPlus1 even 10 15 `pump` [1..] [2,4,6,8,10,11,12,13,14,15] - Mark _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
