"Andrew U. Frank" wrote:
>
> what does this mean? what could cause it?
>
> i use hugs (feb2000) on a win98 system (running hugs, not winhugs).
> there is enough memory (-h120k for a program which runs under 30k)
>
> i use 'type dependencies' (-98) a bit.
>
> usually the error goes away after a while (providing not enough context may
> cause it).
>
> any hint?
Have a look at the "Bugs and Features" page on www.haskell.org/hugs/
Specifically:
On the February 2000 release, sometimes the typechecker crashes. Here is the fix:
diff -C2 -r1.15 -r1.16
*** subst.c 1999/12/21 21:45:24 1.15
--- subst.c 2000/03/06 22:40:37 1.16
***************
*** 1336,1342 ****
Cell pi;
Int o; {
! for (; isAp(pi1); pi1=fun(pi1), pi=fun(pi))
! if (!unify(arg(pi1),o1,arg(pi),o))
return FALSE;
#if IPARAM
if (isIP(pi1) && isIP(pi))
--- 1336,1348 ----
Cell pi;
Int o; {
! for (; isAp(pi1); pi1=fun(pi1), pi=fun(pi)) {
! if (!isAp(pi) || !unify(arg(pi1),o1,arg(pi),o))
return FALSE;
+ }
+ /* pi1 has exhausted its argument chain, we also need to check that
+ pi has no remaining arguments. However, under this condition,
+ the pi1 == pi will always return FALSE, giving the desired
+ result. */
+
#if IPARAM
if (isIP(pi1) && isIP(pi))
However, as a Win98 user, you might not have a C compiler handy.
So I'll bundle up a "Hugs98 Feb00 + this patch" for Win32 users,
and put it on the web site tomorrow.
Hope this helps,
Andy Gill