bugs, fixes and a wishlist item

-----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-----

Isaac Jones
I'm using ghc 5.04.2 which the web page warns may not work with hat.
The good news is that we plan to release a new version of Hat "real soon now", which has full support for ghc-5.04.2, including many of the base hierarchical libraries. Thanks for the specific points you mention however - I have checked to ensure that we have either fixed them already, or will do so before the next release.
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 :)
And the next release of Hat will indeed support MPTC and functional dependencies (provided the underlying compiler does, i.e. they will work with ghc but not with nhc98). Regards, Malcolm
participants (2)
-
Isaac Jones
-
Malcolm Wallace