Hat-trans or hat-lib bug

Thomas Davie <[email protected]> Tue, 2 May 2006 15:50:52 +0000 (UTC)
Newsgroups gmane.comp.lang.haskell.hat
Message-ID <27121B65-015D-4CD8-A6E7-0D15B311EC6D__26596.6473300525$1146585052$gmane$org@kent.ac.uk>
Odd bug here...

The file lambda.hs contains: main = print ((\x -> x * x) (2.0 :: Float))

This is the output for compiling for hat, and not for hat:

Looking at the traces, the recorded trace computes the correct answer  
(in fact, 16 can't be found anywhere in the trace), but the incorrect  
answer is output.

alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ rm lambda.o
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ rm Hat/lambda.o
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ rm lambda
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ hmake lambda
ghc      -c  -o lambda.o lambda.hs
ghc      -o lambda lambda.o
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ ./lambda
4.0
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ rm lambda
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ hmake -hat lambda
hat-trans   lambda.hs
Wrote Hat/lambda.hs
ghc      -c -package hat -o Hat/lambda.o Hat/lambda.hs
ghc     -package hat  -o lambda Hat/lambda.o
alduruch:~/Documents/Work/Hat test cases/Lambda tatd2$ ./lambda
16.0