[Haskell-cafe] strictness and the simple continued fraction
p.turner at computer.org
Mon Oct 11 21:53:16 EDT 2004
On 2004 October 09 Saturday 15:33, William Lee Irwin III wrote:
> So, I discovered that simple continued fractions are supposed to be
> spiffy lazy lists and thought I'd bang out some continued fraction code.
> But then I discovered ContFrac.hs and couldn't really better it. Of
> course, I went about trying to actually do things relying on their
> laziness, and discovered they weren't as lazy as I hoped they'd be.
I tried using continued fractions in a "spiffy lazy list" implementation a
while ago. Never got them working as well as expected.
Evenutally I realized that calculating with lazy lists is not as smooth as you
might expect. For example, the square root of 2 has a simple representation
as a lazy continued fraction, but if you multiply the square root of 2 by
itself, your result lazy list will never get anywhere. The calculation will
keep trying to determine whether or not the result is less than 2, this being
necessary to find the first number in the representation. But every finite
prefix of the square root of 2 leaves uncertainty both below and above, so
the determination will never be made.
Your problems may have some other basis, but I hope this helps.
More information about the Haskell-Cafe