On 24 December 2011 05:47, Michael Craig <mks...@gmail.com> wrote: > I've been looking for a way to compose enumeratees in the enumerator > package, but I've come up with nothing so far. I want this function > > (=$=) :: Monad m => Enumeratee a0 a1 m b -> Enumeratee a1 a2 m b -> > Enumeratee a0 a2 m b > > I'm building a modular library on top of enumerator that facilitates reading > time series data from a DB, applying any number of transformations to it, > and then writing it back / doing something else with it. I'd like to be able > to write simple transformations (enumeratees) and compose them without > binding them to either a db reader (enumerator) or db writer (iteratee). > > I've been looking at the iterIO package as a possible alternative, because > it seems to allow easy composition of Inums (enumeratees). I'm a little > skittish of it because it seems unpopular next to enumerator.
Hi Michael, You could also look at the iteratee package. This is the signature of the (><>) operator: (><>) :: (Nullable s1, Monad m) => (forall x. Enumeratee s1 s2 m x) -> Enumeratee s2 s3 m a -> Enumeratee s1 s3 m a it's quite useful for composing enumeratees, likewise its friend (<><) swims the other way. http://hackage.haskell.org/packages/archive/iteratee/0.8.7.5/doc/html/Data-Iteratee-Iteratee.html cheers, Conrad. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe