addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Hoodlums Message Board › Conduits, a replacement for Iteratees/Enumerators?

Conduits, a replacement for Iteratees/Enumerators?

Ben F.
London, GB
Post #: 2
Hi Guys,

Michael Snoyman (of Yesod fame) has come up with an evolution of the iteratee stuff we covered a couple of meetups ago. Here's the blog post introducing it http://www.yesodweb.c...­. Just at a first glance it looks much easier to follow than iteratees, I'd be interested to see what people think of it?

Hope everyone had a good Christmas break!

Tim W.
user 12343318
London, GB
Post #: 8
Hi Ben,

I took a quick look but they appear to be based on mutable state and IORefs/STRefs, of course the author might argue if a tree falls and no one is around, does it make a sound; as you are apparently able to use conduits in pure code. But it isn't clear to me what the caveats are. For example, I doubt you can share conduits across multiple threads or use them with the very cool asynchronous exceptions (for timeouts etc). I guess he is using the mutable state approach to "simplify" the programming model, in other words, make it more familiar to most of us. But personally I would rather the pure functional approach (and Iteratees do allow arbitrary effects if you want them).

EDIT: this post is out-of-date as conduits appear to be no longer based on mutable state

Powered by mvnForum

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy