[Hat] bugs, fixes and a wishlist item
Isaac Jones
hat@haskell.org
16 Jan 2003 16:35:52 -0500
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Greetings, and thanks for your useful piece of software.
I'm using ghc 5.04.2 which the web page warns may not work with hat.
Even so, when I tried an older version, I had the same problem: the
hat compilation was complaining about a missing IOExt module, so I
added a '-package lang' to the makefile. Perhaps this won't work with
nhc, but it solved one problem (more below).
The next problem I had in compiling was that it didn't know about a
certain data type, so I added an obvious "import" to the top of the
file (more below).
After having successfully built and installed hat, I tried to run it
on my program and got a pattern match failure in the function
"isIrrefutable" and so I fixed that bug which seems to be a typo.
By the way, when I tried to build hat with nhc I ran out of stack
space, but I wanted to use ghc anyway.
The diffs for those three fixes (the first two of which may just be
something about my compiler installation, but the third is certainly a
bug) are below.
After having spent some time getting hat to work, I can't use it on my
program since hat does not yet support multi parameter type classes,
so I thought I'd voice my opinion that supporting these type classes
would be great :)
peace,
isaac
diff -x'*.hi' -x'*.hx' -x'*lib*' -x'*script*' -u -r
hat-2.00/src/compiler98/AuxFile.hs
hat-2.00-altered/src/compiler98/AuxFile.hs
- --- hat-2.00/src/compiler98/AuxFile.hs 2002-06-13 09:57:20.000000000
- -0400
+++ hat-2.00-altered/src/compiler98/AuxFile.hs 2003-01-16
15:44:47.000000000 -0500
@@ -440,7 +440,7 @@
and . (isNewTypeDataCon id :) . map isIrrefutableField $
fieldPats
where
isIrrefutableField (FieldExp _ _ pat) = isIrrefutable pat
- - isIrrefutablePat _ = False
+ isIrrefutable _ = False
isNewTypeDataCon id = case lookupAT identMap id of
Just (Con Newtype _ _) -> True
Only in hat-2.00-altered/src/compiler98: AuxFile.hs~
diff -x'*.hi' -x'*.hx' -x'*lib*' -x'*script*' -u -r
hat-2.00/src/compiler98/Makefile
hat-2.00-altered/src/compiler98/Makefile
- --- hat-2.00/src/compiler98/Makefile 2002-06-07 12:13:21.000000000
- -0400
+++ hat-2.00-altered/src/compiler98/Makefile 2003-01-16
13:01:55.000000000 -0500
@@ -25,7 +25,7 @@
endif
ifeq "ghc" "${HC}"
IMPROVE = #-O
- -HMAKEFLAGS := $(shell $(LOCAL)fixghc $(GHCSYM) +CTS -syslib exts
- -CTS) $(IMPROVE)
+HMAKEFLAGS := -package lang $(shell $(LOCAL)fixghc $(GHCSYM) +CTS
- -syslib exts -CTS) $(IMPROVE)
endif
HMAKEFLAGS += $(shell echo $(BUILDOPTS))
diff -x'*.hi' -x'*.hx' -x'*lib*' -x'*script*' -u -r
hat-2.00/src/hat/tools/LowLevel.hs
hat-2.00-altered/src/hat/tools/LowLevel.hs
- --- hat-2.00/src/hat/tools/LowLevel.hs 2002-06-13 11:50:30.000000000
- -0400
+++ hat-2.00-altered/src/hat/tools/LowLevel.hs 2003-01-16
12:54:10.000000000 -0500
@@ -47,6 +47,7 @@
) where
import FFIExtensions
+import Addr
-- Reference into the .hat file
newtype FileNode = FileNode {int::Int}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>
iD8DBQE+JyW4BLPTZ7K4MaIRAqFlAJ9xFhYhToQiUHSOjHZnRojp/WPR0QCfSO1l
iGsc3+LlHPwUE6jv4wsbx3Q=
=lOAY
-----END PGP SIGNATURE-----