[Haskell-cafe] operations on lists with continuations

Mark Lentczner mark.lentczner at gmail.com
Thu Mar 3 09:33:41 CET 2011


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



More information about the Haskell-Cafe mailing list