ghc-hetmet.git
16 years agoRank 2 and rank n types enable explicit forall syntax
Ian Lynagh [Tue, 10 Jul 2007 20:21:09 +0000 (20:21 +0000)]
Rank 2 and rank n types enable explicit forall syntax

16 years agoRULES pragmas only need explicitForallEnabled, no -fglasgow-exts
Ian Lynagh [Tue, 10 Jul 2007 18:06:29 +0000 (18:06 +0000)]
RULES pragmas only need explicitForallEnabled, no -fglasgow-exts

16 years agoImplement -XDeriveDataTypeable flag
Ian Lynagh [Tue, 10 Jul 2007 18:01:30 +0000 (18:01 +0000)]
Implement -XDeriveDataTypeable flag

16 years agoAdding hpcError, that improves error messages with usage
andy@galois.com [Wed, 11 Jul 2007 07:24:54 +0000 (07:24 +0000)]
Adding hpcError, that improves error messages with usage

16 years agoAdding support for packages into hpc tools
andy@galois.com [Wed, 11 Jul 2007 07:23:49 +0000 (07:23 +0000)]
Adding support for packages into hpc tools

16 years agoAdding tick boxes to the interface syntax; fixes #1510
andy@galois.com [Wed, 11 Jul 2007 07:20:02 +0000 (07:20 +0000)]
Adding tick boxes to the interface syntax; fixes #1510

16 years agocalling pprPanic rather than error when something goes wrong
andy@galois.com [Wed, 11 Jul 2007 07:19:35 +0000 (07:19 +0000)]
calling pprPanic rather than error when something goes wrong

16 years agoAdding better support for HsSyn
andy@galois.com [Wed, 11 Jul 2007 07:18:42 +0000 (07:18 +0000)]
Adding better support for HsSyn

16 years agoAdding support for package names into hpc outputed code
andy@galois.com [Wed, 11 Jul 2007 07:05:55 +0000 (07:05 +0000)]
Adding support for package names into hpc outputed code
We store .mix files in

 .hpc/<package>/<the.module.name>.mix

The package main the empty package (aka other naming passes),
so Main just is stored in

 .hpc/Main.tix

This change in backwards compatable.

16 years agoStoping constant folding of calls to chr# that are invalid
andy@galois.com [Wed, 11 Jul 2007 06:35:20 +0000 (06:35 +0000)]
Stoping constant folding of calls to chr# that are invalid

import GHC.Exts
main = print (C# (chr# 0xffffffff#))

This crashed at compile time (with or without hpc)
Tickled by pending cross-module hpc inlining patch.

16 years agoBe finer-grained when turning on extensions for generated code
Ian Lynagh [Tue, 10 Jul 2007 15:24:06 +0000 (15:24 +0000)]
Be finer-grained when turning on extensions for generated code

16 years agoTweak error message
Ian Lynagh [Tue, 10 Jul 2007 13:02:14 +0000 (13:02 +0000)]
Tweak error message

16 years agoFix tcInstHeadTyNotSynonym
Ian Lynagh [Tue, 10 Jul 2007 12:47:38 +0000 (12:47 +0000)]
Fix tcInstHeadTyNotSynonym
It was returning False for type variables amongst other things, so
"instance C a" was telling us to use -XTypeSynonymInstances.

16 years agoAdd flag -XConstrainedClassMethods
Ian Lynagh [Mon, 9 Jul 2007 20:43:43 +0000 (20:43 +0000)]
Add flag -XConstrainedClassMethods

16 years agoJust alpha-rename a variable
Ian Lynagh [Mon, 9 Jul 2007 20:02:49 +0000 (20:02 +0000)]
Just alpha-rename a variable

16 years agoAdd -XUnliftedFFITypes flag
Ian Lynagh [Mon, 9 Jul 2007 19:54:08 +0000 (19:54 +0000)]
Add -XUnliftedFFITypes flag

16 years agoImplement unboxed tuples flags
Ian Lynagh [Mon, 9 Jul 2007 19:30:56 +0000 (19:30 +0000)]
Implement unboxed tuples flags
-XUnboxedTuples
-XExpressionSignaturesUnboxedTuples
-XTypeSynonymUnboxedTuples

16 years agoTweak the undecidable-instance-checking logic
Ian Lynagh [Mon, 9 Jul 2007 18:22:09 +0000 (18:22 +0000)]
Tweak the undecidable-instance-checking logic
Just looking at Opt_GlasgowExts is not sufficient to see if we need
to do an instance undecidability check. Rather than try to enumerate
all the extensions that may require us to do the check we now always
do it.

16 years agoDefine -XPartiallyAppliedClosedTypeSynonyms flag
Ian Lynagh [Mon, 9 Jul 2007 18:14:55 +0000 (18:14 +0000)]
Define -XPartiallyAppliedClosedTypeSynonyms flag

16 years agoAdd -XPatternSigs flag
Ian Lynagh [Mon, 9 Jul 2007 17:54:11 +0000 (17:54 +0000)]
Add -XPatternSigs flag

16 years agoPA is now a class instead of a record
Roman Leshchinskiy [Tue, 10 Jul 2007 11:38:22 +0000 (11:38 +0000)]
PA is now a class instead of a record

16 years agoAdd dsLookupClass
Roman Leshchinskiy [Tue, 10 Jul 2007 11:35:43 +0000 (11:35 +0000)]
Add dsLookupClass

16 years agoLookup of class and family instances in vectorisation monad
Manuel M T Chakravarty [Tue, 10 Jul 2007 08:49:49 +0000 (08:49 +0000)]
Lookup of class and family instances in vectorisation monad

16 years agooops, revert part of the +RTS -V0 patch which was accidentally included
Simon Marlow [Tue, 10 Jul 2007 07:54:28 +0000 (07:54 +0000)]
oops, revert part of the +RTS -V0 patch which was accidentally included

16 years agoFIX rts build failure for powerPC build
andy@galois.com [Tue, 10 Jul 2007 07:17:13 +0000 (07:17 +0000)]
FIX rts build failure for powerPC build

The rts was failing with

../compiler/ghc-inplace -H64m -Onot -fasm -optc-O2 -static -I../gmp/gmpbuild -I. -#include HCIncludes.h -dcmm-lint  -hisuf thr_p_hi -hcsuf thr_p_hc -osuf thr_p_o -optc-DTHREADED_RTS -prof -#include posix/Itimer.h  -c PrimOps.cmm -o PrimOps.thr_p_o
ghc-6.7.20070709: panic! (the 'impossible' happened)
  (GHC version 6.7.20070709 for powerpc-apple-darwin):
        iselExpr64(powerpc) %MO_U_Conv_I32_I64(16 / 4 - 2)

There was a special case for x86; so it has been transliterated to the PPC, and the output code looks plausable.

16 years agoAdd vectorisation modules to package ghc
Roman Leshchinskiy [Tue, 10 Jul 2007 06:06:23 +0000 (06:06 +0000)]
Add vectorisation modules to package ghc

16 years agoPut vectorisation monad into a separate file
Roman Leshchinskiy [Tue, 10 Jul 2007 06:05:28 +0000 (06:05 +0000)]
Put vectorisation monad into a separate file

16 years agoVectorisation of type abstractions
Roman Leshchinskiy [Tue, 10 Jul 2007 04:25:02 +0000 (04:25 +0000)]
Vectorisation of type abstractions

16 years agoUtility functions for vectorisation
Roman Leshchinskiy [Tue, 10 Jul 2007 04:23:19 +0000 (04:23 +0000)]
Utility functions for vectorisation

16 years agoFix #1505; failure to catch syntax error in :break command
Simon Marlow [Mon, 9 Jul 2007 21:07:06 +0000 (21:07 +0000)]
Fix #1505; failure to catch syntax error in :break command

16 years agoFix the +RTS -V0 option introduced recently; it didn't work at all, now it does.
Simon Marlow [Sun, 8 Jul 2007 19:44:23 +0000 (19:44 +0000)]
Fix the +RTS -V0 option introduced recently; it didn't work at all, now it does.
Also, I documented it.  +RTS -V0 disables the internal RTS timer
completely, which is useful for repeatable debugginng.

16 years agoFIX -fexcess-precision
Simon Marlow [Sun, 8 Jul 2007 19:21:20 +0000 (19:21 +0000)]
FIX -fexcess-precision
Ugly hack; see comments for details

16 years agoRemove unused binding
Ian Lynagh [Mon, 9 Jul 2007 15:33:50 +0000 (15:33 +0000)]
Remove unused binding

16 years agoAdd -XTypeOperators flag
Ian Lynagh [Mon, 9 Jul 2007 15:31:37 +0000 (15:31 +0000)]
Add -XTypeOperators flag

16 years agoAdd -fprint-explicit-foralls flag; fixes trac #1474
Ian Lynagh [Mon, 9 Jul 2007 14:35:51 +0000 (14:35 +0000)]
Add -fprint-explicit-foralls flag; fixes trac #1474

16 years agoAdd -XFlexibleContexts flag
Ian Lynagh [Mon, 9 Jul 2007 13:13:53 +0000 (13:13 +0000)]
Add -XFlexibleContexts flag

16 years agoAdd -XExistentialQuantification flag
Ian Lynagh [Mon, 9 Jul 2007 12:44:36 +0000 (12:44 +0000)]
Add -XExistentialQuantification flag

16 years agoImplement -XPolymorphicComponents
Ian Lynagh [Mon, 9 Jul 2007 12:04:15 +0000 (12:04 +0000)]
Implement -XPolymorphicComponents

16 years agorename tv -> explicitForall
Ian Lynagh [Mon, 9 Jul 2007 11:25:05 +0000 (11:25 +0000)]
rename tv -> explicitForall

16 years agoImplement -XUnicodeSyntax
Ian Lynagh [Mon, 9 Jul 2007 09:34:15 +0000 (09:34 +0000)]
Implement -XUnicodeSyntax

16 years agolibraries/hpc is boring (in the GHC repo)
Ian Lynagh [Sun, 8 Jul 2007 17:32:46 +0000 (17:32 +0000)]
libraries/hpc is boring (in the GHC repo)

16 years agoAdd flags for Rank2Types and RankNTypes
Ian Lynagh [Sun, 8 Jul 2007 17:31:50 +0000 (17:31 +0000)]
Add flags for Rank2Types and RankNTypes

16 years agoMake CPP a -X flag
Ian Lynagh [Sun, 8 Jul 2007 16:50:45 +0000 (16:50 +0000)]
Make CPP a -X flag

16 years agoAdd PatternGuards flag
Ian Lynagh [Sun, 8 Jul 2007 16:42:36 +0000 (16:42 +0000)]
Add PatternGuards flag

16 years agoAdd flags for TypeSynonymInstances and FlexibleInstances
Ian Lynagh [Sun, 8 Jul 2007 16:25:07 +0000 (16:25 +0000)]
Add flags for TypeSynonymInstances and FlexibleInstances

16 years agoImplement -XFunctionalDependencies
Ian Lynagh [Sun, 8 Jul 2007 15:32:36 +0000 (15:32 +0000)]
Implement -XFunctionalDependencies

16 years agoImplement -XRecursiveDo
Ian Lynagh [Sun, 8 Jul 2007 15:06:31 +0000 (15:06 +0000)]
Implement -XRecursiveDo

16 years agoImplement -XGeneralizedNewtypeDeriving
Ian Lynagh [Sun, 8 Jul 2007 14:43:54 +0000 (14:43 +0000)]
Implement -XGeneralizedNewtypeDeriving

16 years agoAdd -XParallelListComp
Ian Lynagh [Sun, 8 Jul 2007 13:42:52 +0000 (13:42 +0000)]
Add -XParallelListComp

16 years agoVectorise lets
Roman Leshchinskiy [Mon, 9 Jul 2007 06:37:53 +0000 (06:37 +0000)]
Vectorise lets

16 years agoSplit vectorisation environment into a global and a local part
Roman Leshchinskiy [Mon, 9 Jul 2007 06:25:05 +0000 (06:25 +0000)]
Split vectorisation environment into a global and a local part

16 years agoFirst cut at vectorisation of expressions
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:34 +0000 (05:39 +0000)]
First cut at vectorisation of expressions

16 years agoConstruction of PA dictionaries for vectorisation
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:18 +0000 (05:39 +0000)]
Construction of PA dictionaries for vectorisation

16 years agoVectorisation-specific imports
Roman Leshchinskiy [Mon, 9 Jul 2007 05:39:06 +0000 (05:39 +0000)]
Vectorisation-specific imports

16 years agoUtilities for handling closure types during vectorisation
Roman Leshchinskiy [Mon, 9 Jul 2007 05:38:19 +0000 (05:38 +0000)]
Utilities for handling closure types during vectorisation

16 years agoAdd orElse combinator for vectorisation monad
Roman Leshchinskiy [Mon, 9 Jul 2007 05:37:40 +0000 (05:37 +0000)]
Add orElse combinator for vectorisation monad

16 years agoExtend vectorisation environment
Roman Leshchinskiy [Mon, 9 Jul 2007 05:37:09 +0000 (05:37 +0000)]
Extend vectorisation environment

16 years agoAllow variables to be mapped to arbitrary CoreExprs in vectorisation monad
Roman Leshchinskiy [Mon, 9 Jul 2007 04:22:51 +0000 (04:22 +0000)]
Allow variables to be mapped to arbitrary CoreExprs in vectorisation monad

16 years agoAdd failure to vectorisation monad
Roman Leshchinskiy [Mon, 9 Jul 2007 04:04:06 +0000 (04:04 +0000)]
Add failure to vectorisation monad

16 years agoFixing native code generator for PowerPC
andy@galois.com [Sun, 8 Jul 2007 07:43:29 +0000 (07:43 +0000)]
Fixing native code generator for PowerPC

16 years agoAdd -XMultiParamTypeClasses flag
Ian Lynagh [Sun, 8 Jul 2007 12:27:53 +0000 (12:27 +0000)]
Add -XMultiParamTypeClasses flag

16 years agoImplement -XKindSignatures
Ian Lynagh [Sun, 8 Jul 2007 12:05:53 +0000 (12:05 +0000)]
Implement -XKindSignatures

16 years agoAdd -XEmptyDataDecls flag
Ian Lynagh [Sun, 8 Jul 2007 11:29:07 +0000 (11:29 +0000)]
Add -XEmptyDataDecls flag

16 years agoSupport the MagicHash extension as a flag and LANGUAGE pragma
Ian Lynagh [Sun, 8 Jul 2007 11:10:41 +0000 (11:10 +0000)]
Support the MagicHash extension as a flag and LANGUAGE pragma

16 years agoTidy up comments in DynFlags
Ian Lynagh [Sun, 8 Jul 2007 10:23:22 +0000 (10:23 +0000)]
Tidy up comments in DynFlags

16 years agoFIX #1472 (also #249, which was not completely fixed previously): -caf-all bugs
Simon Marlow [Sat, 7 Jul 2007 19:21:02 +0000 (19:21 +0000)]
FIX #1472 (also #249, which was not completely fixed previously): -caf-all bugs

16 years agoallow build settings to be overriden by adding mk/validate.mk
Simon Marlow [Sat, 7 Jul 2007 19:18:53 +0000 (19:18 +0000)]
allow build settings to be overriden by adding mk/validate.mk

16 years agoRemove foldl' from Util; use the Data.List one instead
Ian Lynagh [Fri, 6 Jul 2007 20:54:10 +0000 (20:54 +0000)]
Remove foldl' from Util; use the Data.List one instead

16 years agoundo: Get the path right for :list
Simon Marlow [Fri, 6 Jul 2007 15:21:32 +0000 (15:21 +0000)]
undo: Get the path right for :list
This is breaking :list for someone.  If there's a problem here, we
should fix it another way.

16 years ago-ddump-hi-diffs shouldn't imply -fforce-recomp, that defeats the purpose
Simon Marlow [Thu, 5 Jul 2007 13:53:20 +0000 (13:53 +0000)]
-ddump-hi-diffs shouldn't imply -fforce-recomp, that defeats the purpose

16 years agoAdded comment to the Cmm parser showing code for use one CPS is enabled
Michael D. Adams [Thu, 5 Jul 2007 17:07:03 +0000 (17:07 +0000)]
Added comment to the Cmm parser showing code for use one CPS is enabled

16 years agoEliminated use of 'fromJust' from the CPS pass
Michael D. Adams [Thu, 5 Jul 2007 17:06:37 +0000 (17:06 +0000)]
Eliminated use of 'fromJust' from the CPS pass

16 years agoFixed a bug in the CPS pass
Michael D. Adams [Thu, 5 Jul 2007 17:05:15 +0000 (17:05 +0000)]
Fixed a bug in the CPS pass

16 years agoUpdated the call to the CPS pass for the factoring out of cmmToRawCmm
Michael D. Adams [Thu, 5 Jul 2007 14:50:31 +0000 (14:50 +0000)]
Updated the call to the CPS pass for the factoring out of cmmToRawCmm
That call was and is commented out, but it serves as documentation
for when the CPS pass will be turned on.

16 years agoAdded support for GC block declaration to the Cmm syntax
Michael D. Adams [Thu, 5 Jul 2007 14:48:20 +0000 (14:48 +0000)]
Added support for GC block declaration to the Cmm syntax

16 years agoEnsure no statements after CmmReturn are emitted
Michael D. Adams [Thu, 5 Jul 2007 09:47:02 +0000 (09:47 +0000)]
Ensure no statements after CmmReturn are emitted

16 years agoFIX BUILD (Windows)
Simon Marlow [Fri, 6 Jul 2007 07:59:31 +0000 (07:59 +0000)]
FIX BUILD (Windows)

16 years agoVectorise unlifted and tuple tycons
Roman Leshchinskiy [Wed, 4 Jul 2007 05:56:52 +0000 (05:56 +0000)]
Vectorise unlifted and tuple tycons

16 years agoVectorisation of types
Roman Leshchinskiy [Wed, 4 Jul 2007 05:52:39 +0000 (05:52 +0000)]
Vectorisation of types

16 years agoAdd TyCons to vectorisation monad
Roman Leshchinskiy [Wed, 4 Jul 2007 05:15:12 +0000 (05:15 +0000)]
Add TyCons to vectorisation  monad

16 years agoVectorisation monad
Roman Leshchinskiy [Wed, 4 Jul 2007 04:54:45 +0000 (04:54 +0000)]
Vectorisation monad

16 years agoAdd ndp docs
Roman Leshchinskiy [Tue, 3 Jul 2007 06:37:38 +0000 (06:37 +0000)]
Add ndp docs

16 years agoInclude vectorisation into the simplifier pipeline
Roman Leshchinskiy [Fri, 29 Jun 2007 05:19:43 +0000 (05:19 +0000)]
Include vectorisation into the simplifier pipeline

16 years agoAdd vectorise subdirectory and dummy module
Roman Leshchinskiy [Fri, 29 Jun 2007 05:13:16 +0000 (05:13 +0000)]
Add vectorise subdirectory and dummy module

16 years agoAdd -fvectorise
Roman Leshchinskiy [Fri, 29 Jun 2007 04:32:46 +0000 (04:32 +0000)]
Add -fvectorise

16 years agoAdd NDP-related PrelNames
Roman Leshchinskiy [Fri, 29 Jun 2007 04:16:05 +0000 (04:16 +0000)]
Add NDP-related PrelNames

16 years agoMake package ndp wired-in
Roman Leshchinskiy [Fri, 29 Jun 2007 01:54:56 +0000 (01:54 +0000)]
Make package ndp wired-in

16 years agoFIX BUILD (OS X): Include correct gmp.h if using GMP.framework
Roman Leshchinskiy [Fri, 6 Jul 2007 04:56:49 +0000 (04:56 +0000)]
FIX BUILD (OS X): Include correct gmp.h if using GMP.framework

On OS X, we have to #include <GMP/gmp.h> if we are using GMP.framework. Before
the recent GMP changes, gcc (incorrectly) used the gmp.h supplied by ghc but
that is gone now.

16 years agohpc is now a corelib, so always build it
Ian Lynagh [Thu, 5 Jul 2007 22:31:37 +0000 (22:31 +0000)]
hpc is now a corelib, so always build it

16 years agoUpdate the in-tree GMP; fixes trac #832
Ian Lynagh [Thu, 5 Jul 2007 21:52:40 +0000 (21:52 +0000)]
Update the in-tree GMP; fixes trac #832
gmp is now in a top-level directory and we only have the tarball in the
darcs repo. It gets untarred if it is needed.

16 years agoFIX BUILD (with GHC 6.2.x): System.Directory.Internals is no more
Simon Marlow [Thu, 5 Jul 2007 19:46:47 +0000 (19:46 +0000)]
FIX BUILD (with GHC 6.2.x): System.Directory.Internals is no more
Update functions in Compat.Directory from originals in System.Directory

16 years agoWarning Police
Michael D. Adams [Thu, 5 Jul 2007 14:29:36 +0000 (14:29 +0000)]
Warning Police

16 years agoTidy up IsIrred (no need for argument any more)
simonpj@microsoft.com [Thu, 5 Jul 2007 07:59:37 +0000 (07:59 +0000)]
Tidy up IsIrred (no need for argument any more)

16 years agoFix Trace #1494
simonpj@microsoft.com [Wed, 4 Jul 2007 22:22:21 +0000 (22:22 +0000)]
Fix Trace #1494

A tricky bug to do with the way the implication constraints are
solved in TcSimplify.  See Note [Reducing implication constraints].

16 years agoThe standard SUBDIRS in the top level Makefile should include libraries
Ian Lynagh [Wed, 4 Jul 2007 14:08:55 +0000 (14:08 +0000)]
The standard SUBDIRS in the top level Makefile should include libraries

16 years agoRemove mapAccumL, mapAccumR, mapAccumB
Ian Lynagh [Mon, 2 Jul 2007 12:26:51 +0000 (12:26 +0000)]
Remove mapAccumL, mapAccumR, mapAccumB
mapAccumL and mapAccumR are in Data.List now.
mapAccumB is unused.

16 years agoRemove the unused "Eager monad"
Ian Lynagh [Mon, 2 Jul 2007 11:52:04 +0000 (11:52 +0000)]
Remove the unused "Eager monad"

16 years agoAdd a type signature
Ian Lynagh [Mon, 2 Jul 2007 11:49:24 +0000 (11:49 +0000)]
Add a type signature

16 years agoRemove unused functions (applyToPair, applyToFst, applyToSnd)
Ian Lynagh [Mon, 2 Jul 2007 11:48:12 +0000 (11:48 +0000)]
Remove unused functions (applyToPair, applyToFst, applyToSnd)

16 years agoRemove unused cfst (== const)
Ian Lynagh [Mon, 2 Jul 2007 11:47:09 +0000 (11:47 +0000)]
Remove unused cfst (== const)