summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorkristerw <kristerw@pkgsrc.org>2005-05-01 22:55:07 +0000
committerkristerw <kristerw@pkgsrc.org>2005-05-01 22:55:07 +0000
commit44796a62d61b82d55f4a953ba316076b1db311ef (patch)
tree8001b705e0263e626e21c5ab41c32b0565cda635 /lang
parent2ea7529561afb1eb65299db2633fab366af2c4ac (diff)
downloadpkgsrc-44796a62d61b82d55f4a953ba316076b1db311ef.tar.gz
Update nhc98 to 1.18.
Changes from 1.16: # New: Several more packages of hierarchical libraries are included in the build: base, parsec, haskell-src, QuickCheck, HaXml, HUnit, Cabal. # New: FFI improvements: foreign import "dynamic" is now supported, and named C header-files are now used. # New: The compiler now uses cpphs for Haskell source instead of cpp. This removes problems with string gaps, primes in identifiers, and so on. # New: In hmake-interactive, if the readline library is not available, the simple line editor now has a history mechanism. # Bugfix: hmake's processing of cpp conditional directives is improved also. # Bugfix: More evil bugfixes for gcc versions ? 3.3 # Bugfix: A numeric pattern can now match against a Num newtype. # Bugfix: Foreign imports and abstract newtypes now play OK together. # Bugfix: Methods in qualified classes no longer need to be qualified in instance decls. # Bugfix: GreenCard now accepts <<.../...>> syntax.
Diffstat (limited to 'lang')
-rw-r--r--lang/nhc98/Makefile12
-rw-r--r--lang/nhc98/PLIST455
-rw-r--r--lang/nhc98/distinfo20
-rw-r--r--lang/nhc98/patches/patch-ab11
-rw-r--r--lang/nhc98/patches/patch-ac501
-rw-r--r--lang/nhc98/patches/patch-ad16
-rw-r--r--lang/nhc98/patches/patch-ae25
-rw-r--r--lang/nhc98/patches/patch-af23
-rw-r--r--lang/nhc98/patches/patch-ag144
-rw-r--r--lang/nhc98/patches/patch-ah115
10 files changed, 388 insertions, 934 deletions
diff --git a/lang/nhc98/Makefile b/lang/nhc98/Makefile
index b42ebde9f5d..4b709a6e293 100644
--- a/lang/nhc98/Makefile
+++ b/lang/nhc98/Makefile
@@ -1,10 +1,11 @@
-# $NetBSD: Makefile,v 1.33 2005/04/11 21:46:14 tv Exp $
+# $NetBSD: Makefile,v 1.34 2005/05/01 22:55:07 kristerw Exp $
-DISTNAME= nhc98src-1.16
-PKGNAME= nhc98-1.16
-PKGREVISION= 3
+DISTNAME= nhc98src-1.18.tar.gz
+PKGNAME= nhc98-1.18
CATEGORIES= lang
MASTER_SITES= ftp://ftp.cs.york.ac.uk/pub/haskell/nhc98/
+DISTFILES= nhc98src-1.18.tar.gz \
+ nhc98-1.18-library-interfaces.tar.gz
MAINTAINER= kristerw@NetBSD.org
HOMEPAGE= http://www.cs.york.ac.uk/fp/nhc98/
@@ -22,9 +23,6 @@ HAS_CONFIGURE= YES
CONFIGURE_ARGS+= --buildwith=gcc --installdir=${PREFIX} \
+docs --docdir=${PREFIX}/share/doc/nhc98
-# Note that you can also build with ghc (Glasgow Haskell Compiler) or
-# hbc (Chalmers Haskell).
-
USE_GNU_TOOLS+= make
BUILD_TARGET= default
diff --git a/lang/nhc98/PLIST b/lang/nhc98/PLIST
index 5024ead6707..07916ba45e5 100644
--- a/lang/nhc98/PLIST
+++ b/lang/nhc98/PLIST
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.5 2003/03/30 22:33:43 jmc Exp $
+@comment $NetBSD: PLIST,v 1.6 2005/05/01 22:55:07 kristerw Exp $
+bin/cpphs
bin/greencard-nhc98
bin/harch
bin/hi
@@ -12,11 +13,7 @@ include/nhc98/Array.hi
include/nhc98/CPUTime.hi
include/nhc98/Char.hi
include/nhc98/Complex.hi
-include/nhc98/DPrelude.hi
-include/nhc98/DbgIface.hi
-include/nhc98/DbgStub.hi
include/nhc98/Directory.hi
-include/nhc98/Haskell.hi
include/nhc98/HatBuiltin.hi
include/nhc98/HsFFI.h
include/nhc98/IO.hi
@@ -50,72 +47,6 @@ include/nhc98/Ratio.hi
include/nhc98/System.hi
include/nhc98/Time.hi
include/nhc98/Warning.hi
-include/nhc98/base/Control/Arrow.hi
-include/nhc98/base/Control/Monad.hi
-include/nhc98/base/Control/Monad/Fix.hi
-include/nhc98/base/Control/Monad/Trans.hi
-include/nhc98/base/Data/Array.hi
-include/nhc98/base/Data/Bits.hi
-include/nhc98/base/Data/Bool.hi
-include/nhc98/base/Data/Char.hi
-include/nhc98/base/Data/Complex.hi
-include/nhc98/base/Data/Dynamic.hi
-include/nhc98/base/Data/Either.hi
-include/nhc98/base/Data/FiniteMap.hi
-include/nhc98/base/Data/IORef.hi
-include/nhc98/base/Data/Int.hi
-include/nhc98/base/Data/Ix.hi
-include/nhc98/base/Data/List.hi
-include/nhc98/base/Data/Maybe.hi
-include/nhc98/base/Data/PackedString.hi
-include/nhc98/base/Data/Ratio.hi
-include/nhc98/base/Data/Set.hi
-include/nhc98/base/Data/Tuple.hi
-include/nhc98/base/Data/Word.hi
-include/nhc98/base/Debug/Trace.hi
-include/nhc98/base/Foreign.hi
-include/nhc98/base/Foreign/C.hi
-include/nhc98/base/Foreign/C/Error.hi
-include/nhc98/base/Foreign/C/String.hi
-include/nhc98/base/Foreign/C/Types.hi
-include/nhc98/base/Foreign/C/TypesISO.hi
-include/nhc98/base/Foreign/ForeignPtr.hi
-include/nhc98/base/Foreign/Marshal.hi
-include/nhc98/base/Foreign/Marshal/Alloc.hi
-include/nhc98/base/Foreign/Marshal/Array.hi
-include/nhc98/base/Foreign/Marshal/Error.hi
-include/nhc98/base/Foreign/Marshal/Pool.hi
-include/nhc98/base/Foreign/Marshal/Utils.hi
-include/nhc98/base/Foreign/Ptr.hi
-include/nhc98/base/Foreign/StablePtr.hi
-include/nhc98/base/Foreign/Storable.hi
-include/nhc98/base/System/Cmd.hi
-include/nhc98/base/System/Console/GetOpt.hi
-include/nhc98/base/System/Directory.hi
-include/nhc98/base/System/Environment.hi
-include/nhc98/base/System/Exit.hi
-include/nhc98/base/System/IO.hi
-include/nhc98/base/System/IO/Error.hi
-include/nhc98/base/System/IO/Unsafe.hi
-include/nhc98/base/System/Info.hi
-include/nhc98/base/System/Locale.hi
-include/nhc98/base/System/Mem.hi
-include/nhc98/base/System/Random.hi
-include/nhc98/base/Text/Html.hi
-include/nhc98/base/Text/Html/BlockTable.hi
-include/nhc98/base/Text/ParserCombinators/Parsec.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Char.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Combinator.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Error.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Expr.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Perm.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Pos.hi
-include/nhc98/base/Text/ParserCombinators/Parsec/Prim.hi
-include/nhc98/base/Text/PrettyPrint.hi
-include/nhc98/base/Text/PrettyPrint/HughesPJ.hi
-include/nhc98/base/Text/Read.hi
-include/nhc98/base/Text/Show.hi
-include/nhc98/base/Text/Show/Functions.hi
include/nhc98/bytecode.h
include/nhc98/bytecode_o.h
include/nhc98/cinterface.h
@@ -123,7 +54,6 @@ include/nhc98/codemacros.h
include/nhc98/flt.h
include/nhc98/greencard.h
include/nhc98/haskell2c.h
-include/nhc98/localmalloc.h
include/nhc98/macros_o.h
include/nhc98/mk.h
include/nhc98/mkByHand.h
@@ -132,76 +62,248 @@ include/nhc98/mutlib.h
include/nhc98/newbytecode.h
include/nhc98/newmacros.h
include/nhc98/node.h
+include/nhc98/packages/Cabal/Distribution/Compat/Directory.hi
+include/nhc98/packages/Cabal/Distribution/Compat/Exception.hi
+include/nhc98/packages/Cabal/Distribution/Compat/FilePath.hi
+include/nhc98/packages/Cabal/Distribution/Compat/RawSystem.hi
+include/nhc98/packages/Cabal/Distribution/Compat/ReadP.hi
+include/nhc98/packages/Cabal/Distribution/Extension.hi
+include/nhc98/packages/Cabal/Distribution/GetOpt.hi
+include/nhc98/packages/Cabal/Distribution/InstalledPackageInfo.hi
+include/nhc98/packages/Cabal/Distribution/License.hi
+include/nhc98/packages/Cabal/Distribution/Make.hi
+include/nhc98/packages/Cabal/Distribution/Package.hi
+include/nhc98/packages/Cabal/Distribution/PackageDescription.hi
+include/nhc98/packages/Cabal/Distribution/ParseUtils.hi
+include/nhc98/packages/Cabal/Distribution/PreProcess.hi
+include/nhc98/packages/Cabal/Distribution/PreProcess/Unlit.hi
+include/nhc98/packages/Cabal/Distribution/Setup.hi
+include/nhc98/packages/Cabal/Distribution/Simple.hi
+include/nhc98/packages/Cabal/Distribution/Simple/Build.hi
+include/nhc98/packages/Cabal/Distribution/Simple/Configure.hi
+include/nhc98/packages/Cabal/Distribution/Simple/GHCPackageConfig.hi
+include/nhc98/packages/Cabal/Distribution/Simple/Install.hi
+include/nhc98/packages/Cabal/Distribution/Simple/LocalBuildInfo.hi
+include/nhc98/packages/Cabal/Distribution/Simple/Register.hi
+include/nhc98/packages/Cabal/Distribution/Simple/SrcDist.hi
+include/nhc98/packages/Cabal/Distribution/Simple/Utils.hi
+include/nhc98/packages/Cabal/Distribution/Version.hi
+include/nhc98/packages/HUnit/Test/HUnit.hi
+include/nhc98/packages/HUnit/Test/HUnit/Base.hi
+include/nhc98/packages/HUnit/Test/HUnit/Lang.hi
+include/nhc98/packages/HUnit/Test/HUnit/Terminal.hi
+include/nhc98/packages/HUnit/Test/HUnit/Text.hi
+include/nhc98/packages/HaXml/Text/ParserCombinators/HuttonMeijerWallace.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Combinators.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Escape.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Haskell2Xml.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Html/Generate.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Html/Parse.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Html/Pretty.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Lex.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/OneOfN.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Parse.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Pretty.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Types.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Validate.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Verbatim.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Wrappers.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Xml2Haskell.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Xtract/Combinators.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Xtract/Lex.hi
+include/nhc98/packages/HaXml/Text/XML/HaXml/Xtract/Parse.hi
+include/nhc98/packages/QuickCheck/Debug/QuickCheck.hi
+include/nhc98/packages/QuickCheck/Debug/QuickCheck/Poly.hi
+include/nhc98/packages/QuickCheck/Debug/QuickCheck/Utils.hi
+include/nhc98/packages/QuickCheck/Test/QuickCheck.hi
+include/nhc98/packages/QuickCheck/Test/QuickCheck/Poly.hi
+include/nhc98/packages/QuickCheck/Test/QuickCheck/Utils.hi
+include/nhc98/packages/base/Control/Arrow.hi
+include/nhc98/packages/base/Control/Monad.hi
+include/nhc98/packages/base/Control/Monad/Fix.hi
+include/nhc98/packages/base/Data/Array.hi
+include/nhc98/packages/base/Data/Bits.hi
+include/nhc98/packages/base/Data/Bool.hi
+include/nhc98/packages/base/Data/Char.hi
+include/nhc98/packages/base/Data/Complex.hi
+include/nhc98/packages/base/Data/Dynamic.hi
+include/nhc98/packages/base/Data/Either.hi
+include/nhc98/packages/base/Data/Eq.hi
+include/nhc98/packages/base/Data/FiniteMap.hi
+include/nhc98/packages/base/Data/FunctorM.hi
+include/nhc98/packages/base/Data/HashTable.hi
+include/nhc98/packages/base/Data/IORef.hi
+include/nhc98/packages/base/Data/Int.hi
+include/nhc98/packages/base/Data/IntMap.hi
+include/nhc98/packages/base/Data/IntSet.hi
+include/nhc98/packages/base/Data/Ix.hi
+include/nhc98/packages/base/Data/List.hi
+include/nhc98/packages/base/Data/Map.hi
+include/nhc98/packages/base/Data/Maybe.hi
+include/nhc98/packages/base/Data/Monoid.hi
+include/nhc98/packages/base/Data/Ord.hi
+include/nhc98/packages/base/Data/PackedString.hi
+include/nhc98/packages/base/Data/Queue.hi
+include/nhc98/packages/base/Data/Ratio.hi
+include/nhc98/packages/base/Data/Set.hi
+include/nhc98/packages/base/Data/Tree.hi
+include/nhc98/packages/base/Data/Tuple.hi
+include/nhc98/packages/base/Data/Typeable.hi
+include/nhc98/packages/base/Data/Version.hi
+include/nhc98/packages/base/Data/Word.hi
+include/nhc98/packages/base/Debug/Trace.hi
+include/nhc98/packages/base/Foreign.hi
+include/nhc98/packages/base/Foreign/C.hi
+include/nhc98/packages/base/Foreign/C/Error.hi
+include/nhc98/packages/base/Foreign/C/String.hi
+include/nhc98/packages/base/Foreign/C/Types.hi
+include/nhc98/packages/base/Foreign/ForeignPtr.hi
+include/nhc98/packages/base/Foreign/Marshal.hi
+include/nhc98/packages/base/Foreign/Marshal/Alloc.hi
+include/nhc98/packages/base/Foreign/Marshal/Array.hi
+include/nhc98/packages/base/Foreign/Marshal/Error.hi
+include/nhc98/packages/base/Foreign/Marshal/Pool.hi
+include/nhc98/packages/base/Foreign/Marshal/Utils.hi
+include/nhc98/packages/base/Foreign/Ptr.hi
+include/nhc98/packages/base/Foreign/StablePtr.hi
+include/nhc98/packages/base/Foreign/Storable.hi
+include/nhc98/packages/base/NHC/SizedTypes.hi
+include/nhc98/packages/base/System/CPUTime.hi
+include/nhc98/packages/base/System/Cmd.hi
+include/nhc98/packages/base/System/Console/GetOpt.hi
+include/nhc98/packages/base/System/Directory.hi
+include/nhc98/packages/base/System/Directory/Internals.hi
+include/nhc98/packages/base/System/Environment.hi
+include/nhc98/packages/base/System/Exit.hi
+include/nhc98/packages/base/System/IO.hi
+include/nhc98/packages/base/System/IO/Error.hi
+include/nhc98/packages/base/System/IO/Unsafe.hi
+include/nhc98/packages/base/System/Info.hi
+include/nhc98/packages/base/System/Locale.hi
+include/nhc98/packages/base/System/Mem.hi
+include/nhc98/packages/base/System/Random.hi
+include/nhc98/packages/base/System/Time.hi
+include/nhc98/packages/base/Text/Html.hi
+include/nhc98/packages/base/Text/Html/BlockTable.hi
+include/nhc98/packages/base/Text/ParserCombinators/ReadP.hi
+include/nhc98/packages/base/Text/PrettyPrint.hi
+include/nhc98/packages/base/Text/PrettyPrint/HughesPJ.hi
+include/nhc98/packages/base/Text/Printf.hi
+include/nhc98/packages/base/Text/Read.hi
+include/nhc98/packages/base/Text/Regex.hi
+include/nhc98/packages/base/Text/Regex/Posix.hi
+include/nhc98/packages/base/Text/Show.hi
+include/nhc98/packages/base/Text/Show/Functions.hi
+include/nhc98/packages/haskell-src/Language/Haskell/Lexer.hi
+include/nhc98/packages/haskell-src/Language/Haskell/ParseMonad.hi
+include/nhc98/packages/haskell-src/Language/Haskell/ParseUtils.hi
+include/nhc98/packages/haskell-src/Language/Haskell/Parser.hi
+include/nhc98/packages/haskell-src/Language/Haskell/Pretty.hi
+include/nhc98/packages/haskell-src/Language/Haskell/Syntax.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Char.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Combinator.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Error.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Expr.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Perm.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Pos.hi
+include/nhc98/packages/parsec/Text/ParserCombinators/Parsec/Prim.hi
include/nhc98/runtime.h
include/nhc98/stableptr.h
include/nhc98/twopass.h
-lib/hmake/${HARCH}/HInteractive
-lib/hmake/${HARCH}/MkConfig
-lib/hmake/${HARCH}/MkProg
-lib/hmake/${HARCH}/Older
-lib/hmake/${HARCH}/hmakerc
+lib/hmake/ix86-${OPSYS}/HInteractive
+lib/hmake/ix86-${OPSYS}/MkConfig
+lib/hmake/ix86-${OPSYS}/MkProg
+lib/hmake/ix86-${OPSYS}/Older
+lib/hmake/ix86-${OPSYS}/hmakerc
lib/nhc98/hood.jar
-lib/nhc98/${HARCH}/Array.z.a
-lib/nhc98/${HARCH}/BinArray.z.a
-lib/nhc98/${HARCH}/Binary.z.a
-lib/nhc98/${HARCH}/Bit.z.a
-lib/nhc98/${HARCH}/CPUTime.z.a
-lib/nhc98/${HARCH}/CString.z.a
-lib/nhc98/${HARCH}/Char.z.a
-lib/nhc98/${HARCH}/Complex.z.a
-lib/nhc98/${HARCH}/DErrNo.z.a
-lib/nhc98/${HARCH}/DbgIface.z.a
-lib/nhc98/${HARCH}/Directory.z.a
-lib/nhc98/${HARCH}/Driver.z.a
-lib/nhc98/${HARCH}/FFI.z.a
-lib/nhc98/${HARCH}/GreenCard.z.a
-lib/nhc98/${HARCH}/Haskell.z.a
-lib/nhc98/${HARCH}/IO.z.a
-lib/nhc98/${HARCH}/IOExtras.z.a
-lib/nhc98/${HARCH}/Ix.z.a
-lib/nhc98/${HARCH}/List.z.a
-lib/nhc98/${HARCH}/Locale.z.a
-lib/nhc98/${HARCH}/Maybe.z.a
-lib/nhc98/${HARCH}/Monad.z.a
-lib/nhc98/${HARCH}/NonStdEval.z.a
-lib/nhc98/${HARCH}/NonStdGetPID.z.a
-lib/nhc98/${HARCH}/NonStdProfile.z.a
-lib/nhc98/${HARCH}/NonStdTrace.z.a
-lib/nhc98/${HARCH}/NonStdUnsafeCoerce.z.a
-lib/nhc98/${HARCH}/Numeric.z.a
-lib/nhc98/${HARCH}/Observe.z.a
-lib/nhc98/${HARCH}/PackedString.z.a
-lib/nhc98/${HARCH}/Prelude.a
-lib/nhc98/${HARCH}/Prelude.p.a
-lib/nhc98/${HARCH}/PreludeAll.z.a
-lib/nhc98/${HARCH}/Random.z.a
-lib/nhc98/${HARCH}/Ratio.z.a
-lib/nhc98/${HARCH}/Runtime.a
-lib/nhc98/${HARCH}/Runtime.p.a
-lib/nhc98/${HARCH}/Runtime.z.a
-lib/nhc98/${HARCH}/System.z.a
-lib/nhc98/${HARCH}/Time.z.a
-lib/nhc98/${HARCH}/UnboxedArray.z.a
-lib/nhc98/${HARCH}/Warning.z.a
-lib/nhc98/${HARCH}/config
-lib/nhc98/${HARCH}/greencard-nhc98
-lib/nhc98/${HARCH}/hmake-PRAGMA
-lib/nhc98/${HARCH}/hp2graph
-lib/nhc98/${HARCH}/libHSbase.a
-lib/nhc98/${HARCH}/main.o
-lib/nhc98/${HARCH}/main.p.o
-lib/nhc98/${HARCH}/main.z.o
-lib/nhc98/${HARCH}/mutator.o
-lib/nhc98/${HARCH}/mutator.p.o
-lib/nhc98/${HARCH}/mutator.z.o
-lib/nhc98/${HARCH}/mutlib.o
-lib/nhc98/${HARCH}/mutlib.p.o
-lib/nhc98/${HARCH}/mutlib.z.o
-lib/nhc98/${HARCH}/nhc98comp
-lib/nhc98/${HARCH}/nhc98heap
-lib/nhc98/${HARCH}/tprofprel1.z.o
-lib/nhc98/${HARCH}/tprofprel2.z.o
-lib/nhc98/${HARCH}/tprofprel3.z.o
+lib/nhc98/ix86-${OPSYS}/Array.z.a
+lib/nhc98/ix86-${OPSYS}/BinArray.z.a
+lib/nhc98/ix86-${OPSYS}/Binary.z.a
+lib/nhc98/ix86-${OPSYS}/Bit.z.a
+lib/nhc98/ix86-${OPSYS}/CPUTime.z.a
+lib/nhc98/ix86-${OPSYS}/CString.z.a
+lib/nhc98/ix86-${OPSYS}/Char.z.a
+lib/nhc98/ix86-${OPSYS}/Complex.z.a
+lib/nhc98/ix86-${OPSYS}/DErrNo.z.a
+lib/nhc98/ix86-${OPSYS}/Directory.z.a
+lib/nhc98/ix86-${OPSYS}/Driver.z.a
+lib/nhc98/ix86-${OPSYS}/FFI.z.a
+lib/nhc98/ix86-${OPSYS}/GreenCard.z.a
+lib/nhc98/ix86-${OPSYS}/IO.z.a
+lib/nhc98/ix86-${OPSYS}/IOExtras.z.a
+lib/nhc98/ix86-${OPSYS}/Ix.z.a
+lib/nhc98/ix86-${OPSYS}/List.z.a
+lib/nhc98/ix86-${OPSYS}/Locale.z.a
+lib/nhc98/ix86-${OPSYS}/Maybe.z.a
+lib/nhc98/ix86-${OPSYS}/Monad.z.a
+lib/nhc98/ix86-${OPSYS}/NonStdEval.z.a
+lib/nhc98/ix86-${OPSYS}/NonStdGetPID.z.a
+lib/nhc98/ix86-${OPSYS}/NonStdProfile.z.a
+lib/nhc98/ix86-${OPSYS}/NonStdTrace.z.a
+lib/nhc98/ix86-${OPSYS}/NonStdUnsafeCoerce.z.a
+lib/nhc98/ix86-${OPSYS}/Numeric.z.a
+lib/nhc98/ix86-${OPSYS}/Observe.z.a
+lib/nhc98/ix86-${OPSYS}/PackedString.z.a
+lib/nhc98/ix86-${OPSYS}/Prelude.a
+lib/nhc98/ix86-${OPSYS}/Prelude.p.a
+lib/nhc98/ix86-${OPSYS}/PreludeAll.z.a
+lib/nhc98/ix86-${OPSYS}/Random.z.a
+lib/nhc98/ix86-${OPSYS}/Ratio.z.a
+lib/nhc98/ix86-${OPSYS}/Runtime.a
+lib/nhc98/ix86-${OPSYS}/Runtime.p.a
+lib/nhc98/ix86-${OPSYS}/Runtime.z.a
+lib/nhc98/ix86-${OPSYS}/System.z.a
+lib/nhc98/ix86-${OPSYS}/Time.z.a
+lib/nhc98/ix86-${OPSYS}/UnboxedArray.z.a
+lib/nhc98/ix86-${OPSYS}/Warning.z.a
+lib/nhc98/ix86-${OPSYS}/config
+lib/nhc98/ix86-${OPSYS}/cpphs
+lib/nhc98/ix86-${OPSYS}/greencard-nhc98
+lib/nhc98/ix86-${OPSYS}/hmake-PRAGMA
+lib/nhc98/ix86-${OPSYS}/hp2graph
+lib/nhc98/ix86-${OPSYS}/hsc2hs
+lib/nhc98/ix86-${OPSYS}/libHSCabal.a
+lib/nhc98/ix86-${OPSYS}/libHSCabal.p.a
+lib/nhc98/ix86-${OPSYS}/libHSCabal.z.a
+lib/nhc98/ix86-${OPSYS}/libHSHUnit.a
+lib/nhc98/ix86-${OPSYS}/libHSHUnit.p.a
+lib/nhc98/ix86-${OPSYS}/libHSHUnit.z.a
+lib/nhc98/ix86-${OPSYS}/libHSHaXml.a
+lib/nhc98/ix86-${OPSYS}/libHSHaXml.p.a
+lib/nhc98/ix86-${OPSYS}/libHSHaXml.z.a
+lib/nhc98/ix86-${OPSYS}/libHSQuickCheck.a
+lib/nhc98/ix86-${OPSYS}/libHSQuickCheck.p.a
+lib/nhc98/ix86-${OPSYS}/libHSQuickCheck.z.a
+lib/nhc98/ix86-${OPSYS}/libHSbase.a
+lib/nhc98/ix86-${OPSYS}/libHSbase.p.a
+lib/nhc98/ix86-${OPSYS}/libHSbase.z.a
+lib/nhc98/ix86-${OPSYS}/libHShaskell-src.a
+lib/nhc98/ix86-${OPSYS}/libHShaskell-src.p.a
+lib/nhc98/ix86-${OPSYS}/libHShaskell-src.z.a
+lib/nhc98/ix86-${OPSYS}/libHSparsec.a
+lib/nhc98/ix86-${OPSYS}/libHSparsec.p.a
+lib/nhc98/ix86-${OPSYS}/libHSparsec.z.a
+lib/nhc98/ix86-${OPSYS}/main.o
+lib/nhc98/ix86-${OPSYS}/main.p.o
+lib/nhc98/ix86-${OPSYS}/main.z.o
+lib/nhc98/ix86-${OPSYS}/mutator.o
+lib/nhc98/ix86-${OPSYS}/mutator.p.o
+lib/nhc98/ix86-${OPSYS}/mutator.z.o
+lib/nhc98/ix86-${OPSYS}/mutlib.o
+lib/nhc98/ix86-${OPSYS}/mutlib.p.o
+lib/nhc98/ix86-${OPSYS}/mutlib.z.o
+lib/nhc98/ix86-${OPSYS}/nhc98comp
+lib/nhc98/ix86-${OPSYS}/nhc98heap
+lib/nhc98/ix86-${OPSYS}/tprofprel1.z.o
+lib/nhc98/ix86-${OPSYS}/tprofprel2.z.o
+lib/nhc98/ix86-${OPSYS}/tprofprel3.z.o
+man/man1/harch.1
+man/man1/hi.1
+man/man1/hmake.1
+man/man1/hp2graph.1
+man/man1/nhc98.1
share/doc/nhc98/98.html
share/doc/nhc98/CcallingHaskell.html
share/doc/nhc98/bugs.html
@@ -262,8 +364,11 @@ share/doc/nhc98/hmake/index.html
share/doc/nhc98/hmake/interactive.html
share/doc/nhc98/hmake/lineedit.html
share/doc/nhc98/implementation-notes/build-system
+share/doc/nhc98/implementation-notes/bytecode
+share/doc/nhc98/implementation-notes/gc
share/doc/nhc98/implementation-notes/index.html
share/doc/nhc98/implementation-notes/intro
+share/doc/nhc98/implementation-notes/memorylayout
share/doc/nhc98/implementation-notes/phases
share/doc/nhc98/implementation-notes/space-efficient
share/doc/nhc98/index.html
@@ -284,6 +389,8 @@ share/doc/nhc98/maillist.html
share/doc/nhc98/new_tiny.gif
share/doc/nhc98/nhc13.gif
share/doc/nhc98/nhc98.gif
+share/doc/nhc98/oldlicence.html
+share/doc/nhc98/papers.html
share/doc/nhc98/runtime-options.html
share/doc/nhc98/status.html
share/doc/nhc98/todo.html
@@ -291,36 +398,62 @@ share/doc/nhc98/tprof.html
share/doc/nhc98/tracer.html
share/doc/nhc98/windows.html
share/doc/nhc98/york-release.html
-man/man1/harch.1
-man/man1/hmake.1
-man/man1/hp2graph.1
-man/man1/nhc98.1
@dirrm share/doc/nhc98/bugs
@dirrm share/doc/nhc98/examples
@dirrm share/doc/nhc98/hmake
@dirrm share/doc/nhc98/implementation-notes
@dirrm share/doc/nhc98/libs
@dirrm share/doc/nhc98
-@dirrm lib/nhc98/${HARCH}
+@dirrm lib/nhc98/ix86-${OPSYS}
@dirrm lib/nhc98
-@dirrm lib/hmake/${HARCH}
+@dirrm lib/hmake/ix86-${OPSYS}
@dirrm lib/hmake
-@dirrm include/nhc98/base/Text/Show
-@dirrm include/nhc98/base/Text/PrettyPrint
-@dirrm include/nhc98/base/Text/ParserCombinators/Parsec
-@dirrm include/nhc98/base/Text/ParserCombinators
-@dirrm include/nhc98/base/Text/Html
-@dirrm include/nhc98/base/Text
-@dirrm include/nhc98/base/System/IO
-@dirrm include/nhc98/base/System/Console
-@dirrm include/nhc98/base/System
-@dirrm include/nhc98/base/Foreign/Marshal
-@dirrm include/nhc98/base/Foreign/C
-@dirrm include/nhc98/base/Foreign
-@dirrm include/nhc98/base/Debug
-@dirrm include/nhc98/base/Data
-@dirrm include/nhc98/base/Control/Monad
-@dirrm include/nhc98/base/Control
-@dirrm include/nhc98/base
+@dirrm include/nhc98/packages/parsec/Text/ParserCombinators/Parsec
+@dirrm include/nhc98/packages/parsec/Text/ParserCombinators
+@dirrm include/nhc98/packages/parsec/Text
+@dirrm include/nhc98/packages/parsec
+@dirrm include/nhc98/packages/haskell-src/Language/Haskell
+@dirrm include/nhc98/packages/haskell-src/Language
+@dirrm include/nhc98/packages/haskell-src
+@dirrm include/nhc98/packages/base/Text/Show
+@dirrm include/nhc98/packages/base/Text/Regex
+@dirrm include/nhc98/packages/base/Text/PrettyPrint
+@dirrm include/nhc98/packages/base/Text/ParserCombinators
+@dirrm include/nhc98/packages/base/Text/Html
+@dirrm include/nhc98/packages/base/Text
+@dirrm include/nhc98/packages/base/System/IO
+@dirrm include/nhc98/packages/base/System/Directory
+@dirrm include/nhc98/packages/base/System/Console
+@dirrm include/nhc98/packages/base/System
+@dirrm include/nhc98/packages/base/NHC
+@dirrm include/nhc98/packages/base/Foreign/Marshal
+@dirrm include/nhc98/packages/base/Foreign/C
+@dirrm include/nhc98/packages/base/Foreign
+@dirrm include/nhc98/packages/base/Debug
+@dirrm include/nhc98/packages/base/Data
+@dirrm include/nhc98/packages/base/Control/Monad
+@dirrm include/nhc98/packages/base/Control
+@dirrm include/nhc98/packages/base
+@dirrm include/nhc98/packages/QuickCheck/Test/QuickCheck
+@dirrm include/nhc98/packages/QuickCheck/Test
+@dirrm include/nhc98/packages/QuickCheck/Debug/QuickCheck
+@dirrm include/nhc98/packages/QuickCheck/Debug
+@dirrm include/nhc98/packages/QuickCheck
+@dirrm include/nhc98/packages/HaXml/Text/XML/HaXml/Xtract
+@dirrm include/nhc98/packages/HaXml/Text/XML/HaXml/Html
+@dirrm include/nhc98/packages/HaXml/Text/XML/HaXml
+@dirrm include/nhc98/packages/HaXml/Text/XML
+@dirrm include/nhc98/packages/HaXml/Text/ParserCombinators
+@dirrm include/nhc98/packages/HaXml/Text
+@dirrm include/nhc98/packages/HaXml
+@dirrm include/nhc98/packages/HUnit/Test/HUnit
+@dirrm include/nhc98/packages/HUnit/Test
+@dirrm include/nhc98/packages/HUnit
+@dirrm include/nhc98/packages/Cabal/Distribution/Simple
+@dirrm include/nhc98/packages/Cabal/Distribution/PreProcess
+@dirrm include/nhc98/packages/Cabal/Distribution/Compat
+@dirrm include/nhc98/packages/Cabal/Distribution
+@dirrm include/nhc98/packages/Cabal
+@dirrm include/nhc98/packages
@dirrm include/nhc98/NHC
@dirrm include/nhc98
diff --git a/lang/nhc98/distinfo b/lang/nhc98/distinfo
index 3d25a63c8cc..906477d1c2f 100644
--- a/lang/nhc98/distinfo
+++ b/lang/nhc98/distinfo
@@ -1,13 +1,11 @@
-$NetBSD: distinfo,v 1.13 2005/04/15 21:58:32 kristerw Exp $
+$NetBSD: distinfo,v 1.14 2005/05/01 22:55:07 kristerw Exp $
-SHA1 (nhc98src-1.16.tar.gz) = 7ca27c190d06462cab5d642726b7e5e73b61a7e4
-RMD160 (nhc98src-1.16.tar.gz) = 52afba3e5c1190d4586d3125cca07083fbc4cb80
-Size (nhc98src-1.16.tar.gz) = 5689485 bytes
+SHA1 (nhc98src-1.18.tar.gz) = 7de78b449f1e7efc9a12107ff26b441e35b34625
+RMD160 (nhc98src-1.18.tar.gz) = 7b643958cd68c7417c50a66374e1ab20d90d433d
+Size (nhc98src-1.18.tar.gz) = 14509719 bytes
+SHA1 (nhc98-1.18-library-interfaces.tar.gz) = 1a149fc6d01a4fcab4ec65f07b00f1d13cdbe3d5
+RMD160 (nhc98-1.18-library-interfaces.tar.gz) = 480e8c8f9985d396e29661dedf489a5e1bb9c9ba
+Size (nhc98-1.18-library-interfaces.tar.gz) = 116668 bytes
SHA1 (patch-aa) = ba484e67af2574abda0708f882e4c5f973ef125e
-SHA1 (patch-ab) = 064fe3b954dadf46155a3ddcd1e0ba439ff5167d
-SHA1 (patch-ac) = 514a8e8d74a4efb6149734c95b9b4f0c72678218
-SHA1 (patch-ad) = 53ff3bf9b71810c024df1ed04103964f0d65848f
-SHA1 (patch-ae) = b3cebbf940f03cfb250743991f52b2b7999f923f
-SHA1 (patch-af) = 0036a99ddd54f86679faa2d564fab1297aa00273
-SHA1 (patch-ag) = 613b06d92328ff649ea8d3cd198b058f0354654a
-SHA1 (patch-ah) = 72ea669ae55695b0377e647174e16dfc531b1a2e
+SHA1 (patch-ag) = 0c92edc1d6938afe178b5acaacec889e699f4b51
+SHA1 (patch-ah) = 9121f63bbc3d1de26a1b57bab53787e4e8f9a327
diff --git a/lang/nhc98/patches/patch-ab b/lang/nhc98/patches/patch-ab
deleted file mode 100644
index 5a5393611ad..00000000000
--- a/lang/nhc98/patches/patch-ab
+++ /dev/null
@@ -1,11 +0,0 @@
-$NetBSD: patch-ab,v 1.1 2004/01/03 09:50:39 kristerw Exp $
-
---- src/runtime/Integer/alloca.c.orig Sat Jan 3 07:32:14 2004
-+++ src/runtime/Integer/alloca.c Sat Jan 3 07:31:44 2004
-@@ -4,5 +4,5 @@
- void *alloca (unsigned size)
- {
- fprintf(stderr,"Falilure alloca %d called:-(\n",size);
-- abort(-1);
-+ abort();
- }
diff --git a/lang/nhc98/patches/patch-ac b/lang/nhc98/patches/patch-ac
deleted file mode 100644
index c1bce8285cc..00000000000
--- a/lang/nhc98/patches/patch-ac
+++ /dev/null
@@ -1,501 +0,0 @@
-$NetBSD: patch-ac,v 1.2 2004/01/16 00:59:18 kristerw Exp $
-
---- src/runtime/Integer/asmlong.h.orig 2003-02-27 10:19:30.000000000 +0000
-+++ src/runtime/Integer/asmlong.h 2003-12-16 16:33:42.000000000 +0000
-@@ -1,13 +1,13 @@
- #if defined (__a29k__) || defined (___AM29K__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %1,%4,%5
-- addc %0,%2,%3" \
-+ __asm__ ("add %1,%4,%5\n" \
-+" addc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %1,%4,%5
-- subc %0,%2,%3" \
-+ __asm__ ("sub %1,%4,%5\n" \
-+" subc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -31,14 +31,14 @@
-
- #if defined (__arm__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("adds %1,%4,%5
-- adc %0,%2,%3" \
-+ __asm__ ("adds %1,%4,%5\n" \
-+" adc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subs %1,%4,%5
-- sbc %0,%2,%3" \
-+ __asm__ ("subs %1,%4,%5\n" \
-+" sbc %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl)) \
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -46,14 +46,14 @@
-
- #if defined (__gmicro__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add.w %5,%1
-- addx %3,%0" \
-+ __asm__ ("add.w %5,%1\n" \
-+" addx %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub.w %5,%1
-- subx %3,%0" \
-+ __asm__ ("sub.w %5,%1\n" \
-+" subx %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
-@@ -74,14 +74,14 @@
-
- #if defined (__hppa)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("add %4,%5,%1
-- addc %2,%3,%0" \
-+ __asm__ ("add %4,%5,%1\n" \
-+" addc %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sub %5,%4,%1
-- subb %3,%2,%0" \
-+ __asm__ ("sub %5,%4,%1\n" \
-+" subb %3,%2,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -89,14 +89,14 @@
-
- #if defined (__i386__) || defined (__i486__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl %5,%1
-- adcl %3,%0" \
-+ __asm__ ("addl %5,%1\n" \
-+" adcl %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl %5,%1
-- sbbl %3,%0" \
-+ __asm__ ("subl %5,%1\n" \
-+" sbbl %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
-@@ -157,14 +157,14 @@
-
- #if defined (___IBMR2__) /* IBM RS6000 */
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("a %1,%4,%5
-- ae %0,%2,%3" \
-+ __asm__ ("a %1,%4,%5\n" \
-+" ae %0,%2,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("sf %1,%5,%4
-- sfe %0,%3,%2" \
-+ __asm__ ("sf %1,%5,%4\n" \
-+" sfe %0,%3,%2" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "r" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -264,32 +264,32 @@
- : "od" ((unsigned long int)(x)), "n" (0))
- #else /* not mc68020 */
- #define umul_ppmm(xh, xl, a, b) \
-- __asm__ ("| Inlined umul_ppmm
-- movel %2,d0
-- movel %3,d1
-- movel d0,d2
-- swap d0
-- movel d1,d3
-- swap d1
-- movew d2,d4
-- mulu d3,d4
-- mulu d1,d2
-- mulu d0,d3
-- mulu d0,d1
-- movel d4,d0
-- eorw d0,d0
-- swap d0
-- addl d0,d2
-- addl d3,d2
-- jcc 1f
-- addl #65536,d1
--1: swap d2
-- moveq #0,d0
-- movew d2,d0
-- movew d4,d2
-- movel d2,%1
-- addl d1,d0
-- movel d0,%0" \
-+ __asm__ ("| Inlined umul_ppmm\n" \
-+" movel %2,d0\n" \
-+" movel %3,d1\n" \
-+" movel d0,d2\n" \
-+" swap d0\n" \
-+" movel d1,d3\n" \
-+" swap d1\n" \
-+" movew d2,d4\n" \
-+" mulu d3,d4\n" \
-+" mulu d1,d2\n" \
-+" mulu d0,d3\n" \
-+" mulu d0,d1\n" \
-+" movel d4,d0\n" \
-+" eorw d0,d0\n" \
-+" swap d0\n" \
-+" addl d0,d2\n" \
-+" addl d3,d2\n" \
-+" jcc 1f\n" \
-+" addl #65536,d1\n" \
-+"1: swap d2\n" \
-+" moveq #0,d0\n" \
-+" movew d2,d0\n" \
-+" movew d4,d2\n" \
-+" movel d2,%1\n" \
-+" addl d1,d0\n" \
-+" movel d0,%0" \
- : "=g" ((unsigned long int)(xh)), "=g" ((unsigned long int)(xl)) \
- :"g" ((unsigned long int)(a)), "g" ((unsigned long int)(b)) \
- : "d0", "d1", "d2", "d3", "d4")
-@@ -298,14 +298,12 @@
-
- #if defined (__m88000__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addu.co %1,%r4,%r5
-- addu.ci %0,%r2,%r3" \
-+ __asm__ ("addu.co %1,%r4,%r5\n\taddu.ci %0,%r2,%r3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\
- "%rJ" ((unsigned long int)(al)), "rJ" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subu.co %1,%r4,%r5
-- subu.ci %0,%r2,%r3" \
-+ __asm__ ("subu.co %1,%r4,%r5\n\t subu.ci %0,%r2,%r3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "rJ" ((unsigned long int)(ah)), "rJ" ((unsigned long int)(bh)),\
- "rJ" ((unsigned long int)(al)), "rJ" ((unsigned long int)(bl)))
-@@ -322,9 +320,9 @@
-
- #if defined (__mips__)
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("multu %2,%3
-- mflo %0
-- mfhi %1" \
-+ __asm__ ("multu %2,%3\n" \
-+" mflo %0\n" \
-+" mfhi %1" \
- : "=r" ((unsigned long int)(w0)), "=r" ((unsigned long int)(w1))\
- : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v)))
- #define UMUL_TIME 5
-@@ -338,11 +336,11 @@
- : "%0" ((unsigned long int)(u)), "g" ((unsigned long int)(v))); \
- __w; })
- #define div_qrnnd(q, r, n1, n0, d) \
-- __asm__ ("movd %2,r0
-- movd %3,r1
-- deid %4,r0
-- movd r1,%0
-- movd r0,%1" \
-+ __asm__ ("movd %2,r0\n" \
-+" movd %3,r1\n" \
-+" deid %4,r0\n" \
-+" movd r1,%0\n" \
-+" movd r0,%1" \
- : "=g" ((unsigned long int)(q)), "=g" ((unsigned long int)(r)) \
- : "g" ((unsigned long int)(n0)), "g" ((unsigned long int)(n1)), \
- "g" ((unsigned long int)(d)) : "r0", "r1")
-@@ -350,23 +348,23 @@
-
- #if defined (__pyr__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addw %5,%1
-- addwc %3,%0" \
-+ __asm__ ("addw %5,%1\n" \
-+" addwc %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subw %5,%1
-- subwb %3,%0" \
-+ __asm__ ("subw %5,%1\n" \
-+" subwb %3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- /* This insn doesn't work on ancient pyramids. */
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("movw %2,tr11
-- uemul %3,tr10
-- movw tr10,%0
-- movw tr11,%1" \
-+ __asm__ ("movw %2,tr11\n" \
-+" uemul %3,tr10\n" \
-+" movw tr10,%0\n" \
-+" movw tr11,%1" \
- : "=r" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\
- : "r" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \
- : "tr10", "tr11")
-@@ -374,14 +372,14 @@
-
- #if defined (__ibm032__) /* RT/ROMP */
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("a %1,%5
-- ae %0,%3" \
-+ __asm__ ("a %1,%5\n" \
-+" ae %0,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("s %1,%5
-- se %0,%3" \
-+ __asm__ ("s %1,%5\n" \
-+" se %0,%3" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "r" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "r" ((unsigned long int)(bl)))
-@@ -389,26 +387,26 @@
- do { \
- unsigned long int __m0 = (m0), __m1 = (m1); \
- __asm__ ( \
-- "s r2,r2
-- mts r10,%2
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- m r2,%3
-- cas %0,r2,r0
-- mfs r10,%1" \
-+ "s r2,r2\n" \
-+" mts r10,%2\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" m r2,%3\n" \
-+" cas %0,r2,r0\n" \
-+" mfs r10,%1" \
- : "=r" ((unsigned long int)(ph)), "=r" ((unsigned long int)(pl)) \
- : "%r" (__m0), "r" (__m1) \
- : "r2"); \
-@@ -433,14 +431,14 @@
-
- #if defined (__sparc__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addcc %4,%5,%1
-- addx %2,%3,%0" \
-+ __asm__ ("addcc %4,%5,%1\n" \
-+" addx %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "%r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\
- "%r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subcc %4,%5,%1
-- subx %2,%3,%0" \
-+ __asm__ ("subcc %4,%5,%1\n" \
-+" subx %2,%3,%0" \
- : "=r" ((unsigned long int)(sh)), "=&r" ((unsigned long int)(sl))\
- : "r" ((unsigned long int)(ah)), "rI" ((unsigned long int)(bh)),\
- "r" ((unsigned long int)(al)), "rI" ((unsigned long int)(bl)))
-@@ -458,46 +456,46 @@
- /* SPARC without integer multiplication and divide instructions.
- (i.e. at least Sun4/20,40,60,65,75,110,260,280,330,360,380,470,490) */
- #define umul_ppmm(w1, w0, u, v) \
-- __asm__ ("! Inlined umul_ppmm
-- wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr
-- sra %3,31,%%g2 ! Don't move this insn
-- and %2,%%g2,%%g2 ! Don't move this insn
-- andcc %%g0,0,%%g1 ! Don't move this insn
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,%3,%%g1
-- mulscc %%g1,0,%%g1
-- add %%g1,%%g2,%0
-- rd %%y,%1" \
-+ __asm__ ("! Inlined umul_ppmm\n" \
-+" wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr\n" \
-+" sra %3,31,%%g2 ! Don't move this insn\n" \
-+" and %2,%%g2,%%g2 ! Don't move this insn\n" \
-+" andcc %%g0,0,%%g1 ! Don't move this insn\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,%3,%%g1\n" \
-+" mulscc %%g1,0,%%g1\n" \
-+" add %%g1,%%g2,%0\n" \
-+" rd %%y,%1" \
- : "=r" ((unsigned long int)(w1)), "=r" ((unsigned long int)(w0))\
- : "%rI" ((unsigned long int)(u)), "r" ((unsigned long int)(v)) \
- : "%g1", "%g2")
-@@ -505,30 +503,30 @@
- /* It's quite necessary to add this much assembler for the sparc.
- The default udiv_qrnnd (in C) is more than 10 times slower! */
- #define udiv_qrnnd(q, r, n1, n0, d) \
-- __asm__ ("! Inlined udiv_qrnnd
-- mov 32,%%g1
-- subcc %1,%2,%%g0
--1: bcs 5f
-- addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
-- sub %1,%2,%1 ! this kills msb of n
-- addx %1,%1,%1 ! so this can't give carry
-- subcc %%g1,1,%%g1
--2: bne 1b
-- subcc %1,%2,%%g0
-- bcs 3f
-- addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
-- b 3f
-- sub %1,%2,%1 ! this kills msb of n
--4: sub %1,%2,%1
--5: addxcc %1,%1,%1
-- bcc 2b
-- subcc %%g1,1,%%g1
--! Got carry from n. Subtract next step to cancel this carry.
-- bne 4b
-- addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb
-- sub %1,%2,%1
--3: xnor %0,0,%0
-- ! End of inline udiv_qrnnd" \
-+ __asm__ ("! Inlined udiv_qrnnd\n" \
-+" mov 32,%%g1\n" \
-+" subcc %1,%2,%%g0\n" \
-+"1: bcs 5f\n" \
-+" addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n" \
-+" sub %1,%2,%1 ! this kills msb of n\n" \
-+" addx %1,%1,%1 ! so this can't give carry\n" \
-+" subcc %%g1,1,%%g1\n" \
-+"2: bne 1b\n" \
-+" subcc %1,%2,%%g0\n" \
-+" bcs 3f\n" \
-+" addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb\n" \
-+" b 3f\n" \
-+" sub %1,%2,%1 ! this kills msb of n\n" \
-+"4: sub %1,%2,%1\n" \
-+"5: addxcc %1,%1,%1\n" \
-+" bcc 2b\n" \
-+" subcc %%g1,1,%%g1\n" \
-+"! Got carry from n. Subtract next step to cancel this carry.\n" \
-+" bne 4b\n" \
-+" addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb\n" \
-+" sub %1,%2,%1\n" \
-+"3: xnor %0,0,%0\n" \
-+" ! End of inline udiv_qrnnd" \
- : "=r&" ((unsigned long int)(q)), "=r&" ((unsigned long int)(r))\
- : "r" ((unsigned long int)(d)), "1" ((unsigned long int)(n1)), \
- "0" ((unsigned long int)(n0)) : "%g1")
-@@ -538,14 +536,14 @@
-
- #if defined (__vax__)
- #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
-- __asm__ ("addl2 %5,%1
-- adwc %3,%0" \
-+ __asm__ ("addl2 %5,%1\n" \
-+" adwc %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "%0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)),\
- "%1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
- #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
-- __asm__ ("subl2 %5,%1
-- sbwc %3,%0" \
-+ __asm__ ("subl2 %5,%1\n" \
-+" sbwc %3,%0" \
- : "=g" ((unsigned long int)(sh)), "=&g" ((unsigned long int)(sl))\
- : "0" ((unsigned long int)(ah)), "g" ((unsigned long int)(bh)), \
- "1" ((unsigned long int)(al)), "g" ((unsigned long int)(bl)))
diff --git a/lang/nhc98/patches/patch-ad b/lang/nhc98/patches/patch-ad
deleted file mode 100644
index f74c30fc285..00000000000
--- a/lang/nhc98/patches/patch-ad
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-ad,v 1.1 2004/01/16 00:59:18 kristerw Exp $
-
---- src/runtime/Kernel/Makefile.orig 2003-02-05 15:39:18.000000000 +0000
-+++ src/runtime/Kernel/Makefile 2003-12-16 16:31:29.000000000 +0000
-@@ -38,8 +38,9 @@
- ${AOBJS} ${OOBJS}: ${OBJDIR}/%.o: %.c
- ${CC} -c ${CFLAGS} -o $@ $<
- ${SOBJS}: ${OBJDIR}/%.o: %.c
-- ${CC} -S ${CFLAGS} -o - $< | sed '/.align 32/s/32/4/' |\
-- ${CC} -c -x assembler ${CFLAGS} -o $@ -
-+ ${CC} -S ${CFLAGS} -o - $< |\
-+ sed -e '/.align 32/s/32/4/' -e '/.p2align 5/s/5/2/' |\
-+ ${CC} -c -x assembler-with-cpp ${CFLAGS} -o $@ -
-
- LINKS = bytecode.h cinterface.h mutlib.h newmacros.h \
- node.h runtime.h stableptr.h newbytecode.h bytecode_o.h
diff --git a/lang/nhc98/patches/patch-ae b/lang/nhc98/patches/patch-ae
deleted file mode 100644
index 1b271daf409..00000000000
--- a/lang/nhc98/patches/patch-ae
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-ae,v 1.2 2004/01/16 20:03:59 kristerw Exp $
-
---- script/nhc98.inst.orig Fri Mar 7 17:48:45 2003
-+++ script/nhc98.inst Fri Jan 16 17:59:50 2004
-@@ -71,6 +71,12 @@
- MAINROUTINE=$NHC98LIBDIR/$MACHINE/main
-
- CC=${CC-gcc}" -D__NHC__=$VERSIONNUM"
-+gcc_ver=`gcc -dumpversion`
-+gcc_ver_major=`expr "$gcc_ver" : '\([0-9]*\)'`
-+gcc_ver_minor=`expr "$gcc_ver" : '[0-9]*\.\([0-9]*\)'`
-+if test $gcc_ver_major -eq 3 -a $gcc_ver_minor -ge 3; then
-+ CC="${CC} -fno-zero-initialized-in-bss"
-+fi
-
- CPPDEFAULT="${CC} -D__HASKELL__=98 -D__HASKELL_98__ -D__HASKELL98__ -x c -E"
-
-@@ -543,6 +549,7 @@
- echo $CPPAS $ENDIAN $CPPASFLAGS $CINCDIRS $TMPCPPASFILE -o $TMPASFILE
- fi
- $CPPAS $ENDIAN $CPPASFLAGS $CINCDIRS $TMPCPPASFILE -o - | \
-+ sed -e '/.p2align 5/s/5/2/' |\
- sed -e '/.align 32/s/32/4/' >$TMPASFILE # evil mangler!
- if test $CSRC -eq 0
- then
diff --git a/lang/nhc98/patches/patch-af b/lang/nhc98/patches/patch-af
deleted file mode 100644
index 70475dd6cf8..00000000000
--- a/lang/nhc98/patches/patch-af
+++ /dev/null
@@ -1,23 +0,0 @@
-$NetBSD: patch-af,v 1.1 2004/01/16 00:59:18 kristerw Exp $
-
---- src/compiler98/NT.hs.orig 3 Jun 2002 15:03:19
-+++ src/compiler98/NT.hs 1 Apr 2003 13:54:36
-@@ -1,7 +1,7 @@
- module NT ( NT(..), NewType(..)
- , anyNT, consNT, freeNT, freshNT, polyNT, strTVar
- , sndNTvar, strNT, strictNT, transCtxs, useNT
-- , contextNT, ntContext2Pair, stripNT
-+ , contextNT, ntContext2Pair, stripNT, anyVarNT
- ) where
-
-
-@@ -157,3 +157,9 @@
-
-
- sndNTvar (c,v) = (c,NTvar v) -- used for ctxs
-+
-+
-+anyVarNT :: NT -> Maybe Id
-+anyVarNT (NTany tvn) = Just tvn
-+anyVarNT (NTvar tvn) = Just tvn
-+anyVarNT _ = Nothing
diff --git a/lang/nhc98/patches/patch-ag b/lang/nhc98/patches/patch-ag
index c6e6c9b10a4..a6f37e5d68a 100644
--- a/lang/nhc98/patches/patch-ag
+++ b/lang/nhc98/patches/patch-ag
@@ -1,133 +1,13 @@
-$NetBSD: patch-ag,v 1.1 2004/01/16 00:59:18 kristerw Exp $
+$NetBSD: patch-ag,v 1.2 2005/05/01 22:55:07 kristerw Exp $
---- src/compiler98/TypeUnify.hs.orig 20 Feb 2003 18:23:29
-+++ src/compiler98/TypeUnify.hs 1 Apr 2003 13:54:36
-@@ -3,7 +3,7 @@
- -}
- module TypeUnify(unify,unifyr) where
-
--import NT(NT(..),NewType(..),freeNT,strNT)
-+import NT(NT(..),NewType(..),freeNT,strNT,anyVarNT)
- import IdKind
- import TypeSubst
- import TypeUtil
-@@ -20,12 +20,12 @@
-
- unify state phi (t1@(NTany tvn1),t2) =
- case applySubst phi tvn1 of
-- Nothing -> extend phi tvn1 (subst phi t2)
-+ Nothing -> extendV state phi tvn1 (subst phi t2)
- Just phitvn -> unify state phi (phitvn,subst phi t2)
-
- unify state phi (t1@(NTvar tvn1),(NTany tvn2)) =
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTvar tvn1),t2) =
-@@ -35,7 +35,7 @@
-
- unify state phi (t1@(NTcons _ _),t2@(NTany tvn2)) =
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTcons _ _),t2@(NTvar tvn2)) =
-@@ -81,13 +81,13 @@
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTany tvn2)) =
- -- strace ("unify(2) " ++ show t1 ++ " " ++ show t2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTvar tvn2)) =
- -- strace ("unify(3) " ++ show t1 ++ " " ++ show t2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTapp ta1 tb1),t2@(NTcons c2 ts2)) =
-@@ -130,7 +130,7 @@
- unify state phi (t1@(NTexist e),t2@(NTany tvn2)) =
- -- strace ("unify exist " ++ show e ++ " any " ++ show tvn2) $
- case applySubst phi tvn2 of
-- Nothing -> extend phi tvn2 (subst phi t1)
-+ Nothing -> extendV state phi tvn2 (subst phi t1)
- Just phitvn -> unify state phi (phitvn,subst phi t1)
-
- unify state phi (t1@(NTexist e),t2@(NTvar tvn2)) =
-@@ -166,6 +166,8 @@
-
- ------
-
-+-- expand any type synonym at top, so that none is at top in result
-+expandAll :: IntState -> NT -> NT
- expandAll state t@(NTcons tcon ts) =
- case unifyExpand state tcon of
- Left _ -> t
-@@ -178,6 +180,15 @@
- Right _ -> False
- Left _ -> True
-
-+-- expand all type synonyms, so that none is left in result
-+fullyExpand :: IntState -> NT -> NT
-+fullyExpand state t =
-+ case expandAll state t of
-+ NTstrict t -> NTstrict (fullyExpand state t)
-+ NTapp t1 t2 -> NTapp (fullyExpand state t1) (fullyExpand state t2)
-+ NTcons id ts -> NTcons id (map (fullyExpand state) ts)
-+ t -> t
-+
- {-
- If tcon is a type synoym, then unifyExpand returns the depth and the
- definition body of the type synoym.
-@@ -205,27 +216,26 @@
-
- expand (NewType free [] ctxs [nt]) ts = subst (list2Subst (zip free ts)) nt
-
--
-+{-
-+Extends substitution by subtitution of `t' for `tvn'.
-+Performs occurrence check and assures that replacement of `tvn' is a type
-+variable, if `t' expands to a type variable.
-+-}
- extendV :: IntState -> AssocTree Id NT -> Id -> NT
- -> Either (AssocTree Id NT, String) (AssocTree Id NT)
-
--extendV state phi tvn t@(NTcons c _) =
-- if unboxedIS state c then
-- Left (phi,"polymorphic type variable bound to unboxed data " ++ strIS state c)
-- else
-- extend phi tvn t
- extendV state phi tvn t =
-- extend phi tvn t
-+ let t' = expandAll state t
-+ in case anyVarNT t' of
-+ Just tvn' -> if tvn' == tvn
-+ then Right phi
-+ else Right (addSubst phi tvn t')
-+ Nothing ->
-+ if tvn `elem` freeNT t'
-+ then let t'' = fullyExpand state t'
-+ -- expansion may have less free variables
-+ in if tvn `elem` freeNT t''
-+ then Left (phi,"(type-variable occurrence check fails)")
-+ else Right (addSubst phi tvn t'')
-+ else Right (addSubst phi tvn t) -- do not expand unnecessarily
-
--extend phi tvn t@(NTany tvn') =
-- if tvn' == tvn
-- then Right phi
-- else Right (addSubst phi tvn t)
--extend phi tvn t@(NTvar tvn') =
-- if tvn' == tvn
-- then Right phi
-- else Right (addSubst phi tvn t)
--extend phi tvn t | tvn `elem` freeNT t =
-- Left (phi,"(type-variable occurrence check fails)")
--extend phi tvn t@(NTcons c _) = Right (addSubst phi tvn t)
--extend phi tvn t = Right (addSubst phi tvn t)
+--- src/compiler98/RenameLib.hs 22 Dec 2004 12:58:35 -0000 1.31
++++ src/compiler98/RenameLib.hs 11 Apr 2005 14:24:49 -0000
+@@ -216,7 +216,7 @@
+ (coni:_) ->
+ case (ntI . dropJust . lookupAT st ) coni of
+ (NewType _ [] _ [NTcons c _ _,res]) -> (synType,(u,c):newType)
+- (NewType _ [] _ [NTvar v _,res]) -> (synType,(u,v):newType)
++ (NewType _ [] _ [NTvar v _,res]) -> (synType, newType)
+ (NewType _ [] _ [NTapp v1 v2,res]) -> (synType,newType)
+ -- ^ MW hack: omits potential circularity check!
+ (NewType _ [] _ (_:_:_)) ->
diff --git a/lang/nhc98/patches/patch-ah b/lang/nhc98/patches/patch-ah
index 4beac27e600..6d339e0f407 100644
--- a/lang/nhc98/patches/patch-ah
+++ b/lang/nhc98/patches/patch-ah
@@ -1,96 +1,117 @@
-$NetBSD: patch-ah,v 1.1 2005/04/15 21:58:32 kristerw Exp $
+$NetBSD: patch-ah,v 1.2 2005/05/01 22:55:07 kristerw Exp $
---- Makefile.orig Fri Apr 15 23:07:16 2005
-+++ Makefile Fri Apr 15 23:10:52 2005
-@@ -132,13 +132,13 @@
+--- Makefile.orig 2005-04-21 22:10:31.000000000 +0200
++++ Makefile 2005-04-21 22:16:30.000000000 +0200
+@@ -140,13 +140,13 @@
TARGDIR= targets
- TARGETS= runtime prelude libraries greencard hp2graph \
+ TARGETS= runtime prelude libraries greencard hp2graph hsc2hs cpphs \
- profruntime profprelude profprelude-$(CC) \
- timeruntime timeprelude timeprelude-$(CC) \
-+ profruntime profprelude profprelude-${BUILDCOMP} \
-+ timeruntime timeprelude timeprelude-${BUILDCOMP} \
- timetraceruntime timetraceprelude \
+- proflibraries timelibraries proflibraries-$(CC) timelibraries-$(CC) \
- compiler-nhc compiler-hbc compiler-ghc compiler-$(CC) \
- hmake-nhc hmake-hbc hmake-ghc hmake-$(CC) \
- greencard-nhc greencard-hbc greencard-ghc greencard-$(CC) \
-- prelude-$(CC) pragma-$(CC) libraries-$(CC)
-+ compiler-nhc compiler-hbc compiler-ghc compiler-${BUILDCOMP} \
-+ hmake-nhc hmake-hbc hmake-ghc hmake-${BUILDCOMP} \
-+ greencard-nhc greencard-hbc greencard-ghc greencard-${BUILDCOMP} \
-+ prelude-${BUILDCOMP} pragma-${BUILDCOMP} libraries-${BUILDCOMP}
+- prelude-$(CC) pragma-$(CC) libraries-$(CC) hsc2hs-$(CC) cpphs-$(CC)
++ profruntime profprelude profprelude-gcc \
++ timeruntime timeprelude timeprelude-gcc \
++ proflibraries timelibraries proflibraries-gcc timelibraries-gcc \
++ compiler-nhc compiler-hbc compiler-ghc compiler-gcc \
++ hmake-nhc hmake-hbc hmake-ghc hmake-gcc \
++ greencard-nhc greencard-hbc greencard-ghc greencard-gcc \
++ prelude-gcc pragma-gcc libraries-gcc hsc2hs-gcc cpphs-gcc
.PHONY: default basic all compiler help config install
-@@ -173,10 +173,10 @@
- libraries
- basic-ghc: $(PRAGMA) runtime hmake-ghc greencard-ghc compiler-ghc prelude \
- libraries
--basic-$(CC): runtime prelude-$(CC) pragma-$(CC) compiler-$(CC) \
-- greencard-$(CC) hmake-$(CC) libraries-$(CC)
-+basic-${BUILDCOMP}: runtime prelude-${BUILDCOMP} pragma-${BUILDCOMP} compiler-${BUILDCOMP} \
-+ greencard-${BUILDCOMP} hmake-${BUILDCOMP} libraries-${BUILDCOMP}
+@@ -186,8 +186,8 @@
+ prelude hsc2hs libraries
+ basic-ghc: $(PRAGMA) runtime hmake-ghc greencard-ghc compiler-ghc cpphs \
+ prelude hsc2hs libraries
+-basic-$(CC): runtime prelude-$(CC) pragma-$(CC) cpphs-$(CC) compiler-$(CC) \
+- greencard-$(CC) hmake-$(CC) hsc2hs-$(CC) libraries-$(CC)
++basic-gcc: runtime prelude-gcc pragma-gcc cpphs-gcc compiler-gcc \
++ greencard-gcc hmake-gcc hsc2hs-gcc libraries-gcc
--all-$(BUILDCOMP): basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
-+all-${BUILDCOMP}: basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
+ all-$(BUILDCOMP): basic-$(BUILDCOMP) heapprofile timeprofile #hoodui
- heapprofile: compiler profruntime profprelude-$(BUILDCOMP) hp2graph
- timeprofile: compiler timeruntime timeprelude-$(BUILDCOMP)
-@@ -275,41 +275,41 @@
- touch $(TARGDIR)/$(MACHINE)/timeprelude
+@@ -309,56 +309,56 @@
+ done && touch $(TARGDIR)/$(MACHINE)/timelibraries
-$(TARGDIR)/$(MACHINE)/prelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/prelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/prelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) fromC relink
- touch $(TARGDIR)/$(MACHINE)/prelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/prelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/prelude-gcc
touch $(TARGDIR)/$(MACHINE)/prelude
-$(TARGDIR)/$(MACHINE)/timeprelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/timeprelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/timeprelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) CFG=z fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) CFG=z clean all
cd src/prelude; $(MAKE) CFG=z relink
- touch $(TARGDIR)/$(MACHINE)/timeprelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/timeprelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/timeprelude-gcc
touch $(TARGDIR)/$(MACHINE)/timeprelude
-$(TARGDIR)/$(MACHINE)/profprelude-$(CC): $(PRELUDEC)
-+$(TARGDIR)/$(MACHINE)/profprelude-${BUILDCOMP}: $(PRELUDEC)
++$(TARGDIR)/$(MACHINE)/profprelude-gcc: $(PRELUDEC)
cd src/prelude; $(MAKE) CFG=p fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) CFG=p clean all
cd src/prelude; $(MAKE) CFG=p relink
- touch $(TARGDIR)/$(MACHINE)/profprelude-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/profprelude-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/profprelude-gcc
touch $(TARGDIR)/$(MACHINE)/profprelude
-$(TARGDIR)/$(MACHINE)/compiler-$(CC): $(COMPILERC)
-+$(TARGDIR)/$(MACHINE)/compiler-${BUILDCOMP}: $(COMPILERC)
++$(TARGDIR)/$(MACHINE)/compiler-gcc: $(COMPILERC)
cd src/compiler98; $(MAKE) fromC
cd src/prelude/$(MACHINE)/NHC; $(MAKE) clean all # Patch machine-specific parts.
cd src/prelude; $(MAKE) relink
cd src/compiler98; $(MAKE) relink
- touch $(TARGDIR)/$(MACHINE)/compiler-$(CC)
-$(TARGDIR)/$(MACHINE)/greencard-$(CC): $(GREENCARDC)
-+ touch $(TARGDIR)/$(MACHINE)/compiler-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/greencard-${BUILDCOMP}: $(GREENCARDC)
++ touch $(TARGDIR)/$(MACHINE)/compiler-gcc
++$(TARGDIR)/$(MACHINE)/greencard-gcc: $(GREENCARDC)
cd src/greencard; $(MAKE) fromC
- touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-$(CC)
-$(TARGDIR)/$(MACHINE)/pragma-$(CC): script/hmake-PRAGMA.hc
-+ touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/pragma-${BUILDCOMP}: script/hmake-PRAGMA.hc
++ touch $(TARGDIR)/$(MACHINE)/greencard $(TARGDIR)/$(MACHINE)/greencard-gcc
++$(TARGDIR)/$(MACHINE)/pragma-gcc: script/hmake-PRAGMA.hc
script/nhc98 -o $(PRAGMA) script/hmake-PRAGMA.hc
- touch $(TARGDIR)/$(MACHINE)/pragma-$(CC)
+-$(TARGDIR)/$(MACHINE)/cpphs-$(CC): $(CPPHS)
++ touch $(TARGDIR)/$(MACHINE)/pragma-gcc
++$(TARGDIR)/$(MACHINE)/cpphs-gcc: $(CPPHS)
+ cd src/cpphs; $(MAKE) -f Makefile.nhc98 fromC
+- touch $(TARGDIR)/$(MACHINE)/cpphs-$(CC)
-$(TARGDIR)/$(MACHINE)/hmake-$(CC): $(HMAKEC)
-+ touch $(TARGDIR)/$(MACHINE)/pragma-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/hmake-${BUILDCOMP}: $(HMAKEC)
- cd src/hmake; $(MAKE) fromC config
- cd src/interpreter; $(MAKE) fromC
++ touch $(TARGDIR)/$(MACHINE)/cpphs-gcc
++$(TARGDIR)/$(MACHINE)/hmake-gcc: $(HMAKEC)
+ cd src/hmake; $(MAKE) BUILDCOMP=nhc fromC config
+ cd src/interpreter; $(MAKE) BUILDCOMP=nhc fromC
- touch $(TARGDIR)/$(MACHINE)/hmake-$(CC)
+-$(TARGDIR)/$(MACHINE)/hsc2hs-$(CC): $(HSC2HS) $(HSC2HSC)
++ touch $(TARGDIR)/$(MACHINE)/hmake-gcc
++$(TARGDIR)/$(MACHINE)/hsc2hs-gcc: $(HSC2HS) $(HSC2HSC)
+ cd src/hsc2hs; $(MAKE) -f Makefile.nhc98 fromC
+- touch $(TARGDIR)/$(MACHINE)/hsc2hs-$(CC)
-$(TARGDIR)/$(MACHINE)/libraries-$(CC): $(LIBRARIES)
-+ touch $(TARGDIR)/$(MACHINE)/hmake-${BUILDCOMP}
-+$(TARGDIR)/$(MACHINE)/libraries-${BUILDCOMP}: $(LIBRARIES)
- cd src/libraries/base; $(MAKE) -f Makefile.nhc98 fromC
-- touch $(TARGDIR)/$(MACHINE)/libraries-$(CC)
-+ touch $(TARGDIR)/$(MACHINE)/libraries-${BUILDCOMP}
++ touch $(TARGDIR)/$(MACHINE)/hsc2hs-gcc
++$(TARGDIR)/$(MACHINE)/libraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/libraries-$(CC)
+-$(TARGDIR)/$(MACHINE)/proflibraries-$(CC): $(LIBRARIES)
++ done && touch $(TARGDIR)/$(MACHINE)/libraries-gcc
++$(TARGDIR)/$(MACHINE)/proflibraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 CFG=p fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/proflibraries-$(CC)
+-$(TARGDIR)/$(MACHINE)/timelibraries-$(CC): $(LIBRARIES)
++ done && touch $(TARGDIR)/$(MACHINE)/proflibraries-gcc
++$(TARGDIR)/$(MACHINE)/timelibraries-gcc: $(LIBRARIES)
+ for pkg in ${PACKAGEBUILD};\
+ do ( cd src/libraries/$$pkg; $(MAKE) -f Makefile.nhc98 CFG=z fromC; ) ;\
+- done && touch $(TARGDIR)/$(MACHINE)/timelibraries-$(CC)
++ done && touch $(TARGDIR)/$(MACHINE)/timelibraries-gcc
script/errnogen.c: script/GenerateErrNo.hs