[Haskell-cafe] Maintaining laziness
Jan Christiansen
jac at informatik.uni-kiel.de
Mon Jan 12 07:27:26 EST 2009
Hi,
> Although it seems to be overkill for a single module - How about a
> cabalized version on Hackage and a darcs repository? It would
> simplify using and updating it.
I am not sure whether this would be a good idea. The original version
makes a lot of suggestions which are not satisfiable but it is not at
all trivial to decide which are satisfiable and which are not. I have
rewritten StrictCheck from scratch to overcome this problem. But the
current implementation is not presentable right now and I have no
formal prove that the criterion that I am using is correct.
> Your StrictCheck is really tough! I'm currently checking my
> routines from
> http://hackage.haskell.org/packages/archive/utility-ht/0.0.1/doc/
> html/Data-List-HT.html
> which I designed especially with laziness in mind - and I found a
> lot of laziness breakers using StrictCheck!
>
> However now I found an example where it probably proposes
> something inefficient:
>
> So what it proposes is essentially that one should first check the
> length of the lists without looking at the contents.
> [undefined,undefined] can never be a prefix of [undefined].
> However, first constructing the list spine seems to be inefficient.
I know about this problem. It is mentioned in the paper about
StrictCheck. I haven't worked on this right now. With respect to
least-strictness I would say the tool is right. But it is probably
not the kind of advise one wants. When I am sure that I can handle
the other problem I will take a look at this one.
Cheers, Jan
More information about the Haskell-Cafe
mailing list