odd Hugs runtime error

Scott Turner sturner@mks.com
Fri, 14 Jun 2002 13:38:37 -0400


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