"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

Reply via email to