odd Hugs runtime error

Sigbjorn Finne sof@galois.com
Fri, 14 Jun 2002 10:47:25 -0700


Hi Scott,

thanks for the report; this bug was fixed in the
CVS repository version of Hugs a couple of weeks
ago. The CVS contents is in-flux at the moment, so
if you don't want to brave the waters, change
machine.c:asEVAL() to:

static Void local asEVAL() {            /* load and eval stack element
*/
   instrNone(iEVAL);
   srsp--;
}

and, I believe, you should be on your merry way again..

hth
--sigbjorn

----- Original Message -----
From: "Scott Turner" <sturner@mks.com>
To: <hugs-bugs@haskell.org>
Sent: Friday, June 14, 2002 10:38
Subject: odd Hugs runtime error


> The following program should print "e" but gets an execution-time error:
>     Program error: {slist Bool_True}
>
>     data Set = Leaf Int | Empty
>     selem Empty = False
>     slist Empty = "e"
>
>     main = do
>       let t = not $ selem Empty
>       if t || t
> then do
> let e = Empty
> putStrLn (slist e)
> else return ()
>
> This is Hugs 98 December 2001 built for Solaris.
>   Current settings: +fewuiR -stgl.qQkI -h2500000 -p"%s> " -r$$ -c40
>   Compatibility   : Haskell 98 (+98)
>
> Tried it also on Windows 2000 and got an access violation.
>
> Scott Turner
> Member of Technical Staff, Product Development, MKS Inc., www.mks.com
> Burlington, MA, USA; tel: 781-359-3309; fax: 781-359-3399
> Build Better Software