[Haskell-cafe] Suggestions for a hReadUntilStr implementation

Greg Fitzgerald garious at gmail.com
Sun Feb 4 03:13:53 EST 2007


Matt,

> should finish evaluating when either the timer has run out or
I recommend changing my implementation of hReadUntilStr so that the deadline
is calculated upfront (have a look at System.Time), and then reducing the
number of milliseconds for hReadUntilChar with each call to it.

Thanks,
Greg


On 2/4/07, Matt Revelle <mrevelle at gmail.com> wrote:
>
> 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.
>
> Cheers,
> Matt
>
>
> 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
> >
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20070204/67672ad4/attachment.htm


More information about the Haskell-Cafe mailing list