[Haskell-cafe] Do I need to roll my own?

David Leimbach leimy2k at gmail.com
Wed Mar 31 12:31:25 EDT 2010


I'm looking at iteratee as a way to replace my erroneous and really
inefficient lazy-IO-based backend for an expect like Monad DSL I've been
working for about 6 months or so now on and off.

The problem is I want something like:

expect "some String"
send "some response"

to block or perhaps timeout, depending on the environment, looking for "some
String" on an input Handle, and it appears that iteratee works in a very
fixed block size.  While a fixed block size is ok, if I can put back unused
bytes into the enumerator somehow (I may need to put a LOT back in some
cases, but in the common case I will not need to put any back as most
expect-like scripts typically catch the last few bytes of data sent before
the peer is blocked waiting for a response...)

Otherwise, I'm going to want to roll my own iteratee style library where I
have to say "NotDone howMuchMoreIThinkINeed" so I don't over consume the
input stream.

Does that even make any sense?  I'm kind of brainstorming in this email
unfortunately :-)

Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100331/ec368914/attachment.html


More information about the Haskell-Cafe mailing list