Re: [Haskell] Re: [Haskell-cafe] ANNOUNCE: enumerator, an alternative iteratee package

On Sat, Aug 21, 2010 at 14:41, Michael Snoyman
Hey John, As I mentioned, I'm considering having persistent depend upon enumerator. Do you think it's too early in enumerator's life to do so and I should wait till the API stabilizes a bit more? Also, two other packages I would think to bring into the enumerator family would be: * yaml * wai-extra, providing an enumerator layer for more easily dealing with the Source and Enumerator datatypes in wai. I might just release a wai-enumerator package instead. Thanks again for your work on this, Michael
I think the API is pretty stable. Most of the significant research into iteratee-based APIs has already been performed by users of the "iteratee" library, and by Oleg. There might be a few backwards-compatible changes (new modules, new exports, etc). I'm not planning to make any large changes, such as Mr. Lato's transition to CPS-based iteratees. As long as you import the enumerator modules with "qualified" (to avoid Prelude name clashes), it should be safe to start porting libraries.

John,
On Sat, Aug 21, 2010 at 5:06 PM, John Millikin
I think the API is pretty stable. Most of the significant research into iteratee-based APIs has already been performed by users of the "iteratee" library, and by Oleg. There might be a few backwards-compatible changes (new modules, new exports, etc). I'm not planning to make any large changes, such as Mr. Lato's transition to CPS-based iteratees.
Apologies if I'm asking you to repeat yourself, but I couldn't find the explanation. What was the reason why you went with IterateeM instead of IterateeMCPS? Simplicity? Thanks, Paulo

On Sat, Aug 21, 2010 at 15:35, Paulo Tanimoto
Apologies if I'm asking you to repeat yourself, but I couldn't find the explanation. What was the reason why you went with IterateeM instead of IterateeMCPS? Simplicity?
Iteratees are difficult enough to understand already -- requiring prospective users to learn and understand CPS would just be another roadblock. The CPS implementation is also slower -- I performed some basic benchmarking of IterateeM.hs and IterateeMCPS.hs, and CPS is only faster without optimizations. At -O, they are equal, and at -O2, IterateeM is faster.
participants (2)
-
John Millikin
-
Paulo Tanimoto