[Haskell-cafe] Suggestions for a hReadUntilStr implementation

Matt Revelle mrevelle at gmail.com
Sat Feb 3 21:24:27 EST 2007

Thanks for the responses.

Greg, your implementation looks useful but it's a little different
than what I was thinking (my apologies, I wasn't very clear).

In the implementation you posted, the timeout parameter is used to
limit the amount of time spent waiting to read an individual character
- I was hoping to use the timeout as an initial value for a timer that
should start running when hReadUntilStr is evaluated and the function
should finish evaluating when either the timer has run out or when the
string match has been found.

Martin, thanks for the link.


On 2/3/07, Greg Fitzgerald <garious at gmail.com> wrote:
> Hi Matt,
> > hReadUntilStr - that is, a function that takes a Handle as an input
> > source, a String to match, and a "Num a"  as the number of seconds to
> > wait before returning a (String, Bool) where the String is all the
> > text read from the Handle until either matching or timing out and the
> > Bool is true if the input String was matched
> This might work for you: http://hpaste.org/289 .
> It throws an IO exception if hWaitForChar times out, and makes use of lazy
> evaluation to schedule all the IO upfront so that grabbing the string prefix
> can be done in pure code.
> Thanks,
> Greg

More information about the Haskell-Cafe mailing list