ghc-hetmet.git
13 years agoMostly fix Trac #2431: make empty case acceptable to (most of) GHC
simonpj@microsoft.com [Mon, 11 Aug 2008 12:31:58 +0000 (12:31 +0000)]
Mostly fix Trac #2431: make empty case acceptable to (most of) GHC

See the comments with Trac #2431.  This patch makes an empty HsCase
acceptable to the renamer onwards.  If you want to accept empty case
in Haskell source there's a little more to do: the ticket lists the
remaining tasks.

13 years agoFix Trac #2412: type synonyms and hs-boot recursion
simonpj@microsoft.com [Mon, 11 Aug 2008 12:25:23 +0000 (12:25 +0000)]
Fix Trac #2412: type synonyms and hs-boot recursion

Max Bolingbroke found this awkward bug, which relates to the way in
which hs-boot files are handled.

   --> HEADS UP: interface file format change: recompile everything!

When we import a type synonym, we want to *refrain* from looking at its
RHS until we've "tied the knot" in the module being compiled.  (Reason:
the type synonym might ultimately loop back to the module being compiled.)
To achieve this goal we need to know the *kind* of the synonym without
looking at its RHS.  And to do that we need its kind recorded in the interface
file.

I slightly refactored the way that the IfaceSyn data constructor
fields work, eliminating the previous tricky re-use of the same field
as either a type or a kind.

See Note [Synonym kind loop] in TcIface

13 years agoFix Trac #2506: infix assert
simonpj@microsoft.com [Mon, 11 Aug 2008 10:50:11 +0000 (10:50 +0000)]
Fix Trac #2506: infix assert

13 years agoUse do-notation
simonpj@microsoft.com [Mon, 11 Aug 2008 10:49:49 +0000 (10:49 +0000)]
Use do-notation

13 years agoFix Trac #2494: tcSimplifyRuleLhs
simonpj@microsoft.com [Mon, 11 Aug 2008 10:44:38 +0000 (10:44 +0000)]
Fix Trac #2494: tcSimplifyRuleLhs

tcSimplifyRuleLhs is a cut-down constraint simplifier, intended for
use in RULE left-hand-sides.  But it was written before implication
constraints, and the exmaple of this bug report shows that when higher
rank types are involved we need to be a bit cleverer.

The whole business of simplifying constraints on rule LHSs is a bit
of a hack; but for a good reason.  See the comments with tcSimplifyRuleLhs.
This patch at least cures the crash.

13 years agoMake comparison on equalities work right (ie look at the types)
simonpj@microsoft.com [Mon, 11 Aug 2008 10:40:11 +0000 (10:40 +0000)]
Make comparison on equalities work right (ie look at the types)

This patch makes
(s1~t1) == (s2~t2) iff s1==s2, t1==t2

The comparison and equality instances for Insts are really only
used in making the AvailEnv in TcSimplify, which equalities are
never put into, which is why we've gotten away with this for so long.

But I'm now using 'nub' in the error messages for equalities,
and in any case it makes sense to have the right equality!

13 years agoMinor refactoring; no functionality change
simonpj@microsoft.com [Mon, 11 Aug 2008 10:38:21 +0000 (10:38 +0000)]
Minor refactoring; no functionality change

13 years agoFix Trac #2486: restore the specialiser to a working state
simonpj@microsoft.com [Sat, 9 Aug 2008 16:31:23 +0000 (16:31 +0000)]
Fix Trac #2486: restore the specialiser to a working state

In improving the specialiser's data reprsentaion, thus
  Mon Apr 28 16:57:11 GMT Daylight Time 2008  simonpj@microsoft.com
  * Fix Trac #1969: perfomance bug in the specialiser
I got the sense of a pair of filter functions back to front.
As a result, almost all specialisation opportunities were being
filtered out, and no specialisations were being generated.

Fortunately, dolio notice and reported Trac #2486.  The fix is
simple: put the filters the right way roud.

13 years agoRemove a pointless use of $(HERE_ABS)/
Ian Lynagh [Sun, 10 Aug 2008 17:32:37 +0000 (17:32 +0000)]
Remove a pointless use of $(HERE_ABS)/

13 years agoDon't give the -d flag to rm; it goes wrong on Windows
Ian Lynagh [Sun, 10 Aug 2008 17:30:53 +0000 (17:30 +0000)]
Don't give the -d flag to rm; it goes wrong on Windows

13 years agoAdd mk/bindist.mk
Ian Lynagh [Sun, 10 Aug 2008 15:07:37 +0000 (15:07 +0000)]
Add mk/bindist.mk

13 years agoRemove references to the files that the RTS no longer knows about
Ian Lynagh [Sun, 10 Aug 2008 14:47:40 +0000 (14:47 +0000)]
Remove references to the files that the RTS no longer knows about
Spotted by Simon

13 years agoWe don't need to generate driver/package.conf any more; spotted by Simon
Ian Lynagh [Sun, 10 Aug 2008 14:42:59 +0000 (14:42 +0000)]
We don't need to generate driver/package.conf any more; spotted by Simon

13 years agoRemove inplace-datadir when cleaning
Ian Lynagh [Sun, 10 Aug 2008 14:41:18 +0000 (14:41 +0000)]
Remove inplace-datadir when cleaning

13 years agoRemove driver/ghc; The Cabal package in ghc/ now makes a wrapper itself
Ian Lynagh [Sun, 10 Aug 2008 14:36:55 +0000 (14:36 +0000)]
Remove driver/ghc; The Cabal package in ghc/ now makes a wrapper itself

13 years agoMake "make clean" in ghc/ only clean the stage we want to clean
Ian Lynagh [Sun, 10 Aug 2008 14:24:09 +0000 (14:24 +0000)]
Make "make clean" in ghc/ only clean the stage we want to clean

13 years agoMake "make clean" in compiler/ only clean the stage we want to clean
Ian Lynagh [Sun, 10 Aug 2008 14:20:26 +0000 (14:20 +0000)]
Make "make clean" in compiler/ only clean the stage we want to clean
If you "make clean" in the root then we still clean all stages

13 years agoAlso clean pwd.hi and pwd.o
Ian Lynagh [Sun, 10 Aug 2008 14:07:31 +0000 (14:07 +0000)]
Also clean pwd.hi and pwd.o

13 years agobindist fixes
Ian Lynagh [Sun, 10 Aug 2008 13:39:25 +0000 (13:39 +0000)]
bindist fixes

13 years agobindists are now some way towards working
Ian Lynagh [Sun, 10 Aug 2008 00:50:16 +0000 (00:50 +0000)]
bindists are now some way towards working

13 years agoUse Cabal to build pwd
Ian Lynagh [Sun, 10 Aug 2008 00:28:07 +0000 (00:28 +0000)]
Use Cabal to build pwd

13 years agoMove allM to MonadUtils
Max Bolingbroke [Thu, 7 Aug 2008 22:48:53 +0000 (22:48 +0000)]
Move allM to MonadUtils

13 years agoRemove redundant fromIntegral calls
Max Bolingbroke [Thu, 7 Aug 2008 22:43:33 +0000 (22:43 +0000)]
Remove redundant fromIntegral calls

13 years agoRemove CoreSyn SOURCE imports
Max Bolingbroke [Thu, 7 Aug 2008 22:37:18 +0000 (22:37 +0000)]
Remove CoreSyn SOURCE imports

13 years agoFixed performance bug in ext-core preprocessor
Tim Chevalier [Sat, 9 Aug 2008 00:20:51 +0000 (00:20 +0000)]
Fixed performance bug in ext-core preprocessor

The Core preprocessor was rebuilding the type and data constructor environments every time it called the typechecker, which was horribly inefficient. Fixed.

13 years agoFix darcs-all get
Ian Lynagh [Thu, 7 Aug 2008 20:32:58 +0000 (20:32 +0000)]
Fix darcs-all get

13 years agoFix errors with haddock 0.8
Ian Lynagh [Thu, 7 Aug 2008 13:15:06 +0000 (13:15 +0000)]
Fix errors with haddock 0.8

13 years agoDocument Name and expand it's API
Max Bolingbroke [Thu, 7 Aug 2008 12:29:01 +0000 (12:29 +0000)]
Document Name and expand it's API

13 years agoFollow OccName changes in Convert
Max Bolingbroke [Thu, 31 Jul 2008 12:07:41 +0000 (12:07 +0000)]
Follow OccName changes in Convert

13 years agoUse DynFlags.getMainFun in TcRnDriver
Max Bolingbroke [Thu, 31 Jul 2008 05:52:10 +0000 (05:52 +0000)]
Use DynFlags.getMainFun in TcRnDriver

13 years agoFix Vectorise after introduction of MonadThings
Max Bolingbroke [Thu, 31 Jul 2008 05:48:13 +0000 (05:48 +0000)]
Fix Vectorise after introduction of MonadThings

13 years agoFollow introduction of MkCore in VectUtils
Max Bolingbroke [Thu, 31 Jul 2008 05:47:22 +0000 (05:47 +0000)]
Follow introduction of MkCore in VectUtils

13 years agoFix VectMonad after introduction of MonadThings
Max Bolingbroke [Thu, 31 Jul 2008 05:46:23 +0000 (05:46 +0000)]
Fix VectMonad after introduction of MonadThings

13 years agoMinor refactorings in TcEnv
Max Bolingbroke [Thu, 31 Jul 2008 05:44:37 +0000 (05:44 +0000)]
Minor refactorings in TcEnv

13 years agoHandle introduction of MkCore in DsMonad and expand API
Max Bolingbroke [Thu, 31 Jul 2008 05:42:39 +0000 (05:42 +0000)]
Handle introduction of MkCore in DsMonad and expand API

13 years agoAdd MkCore, holding general Core construction facilities
Max Bolingbroke [Thu, 31 Jul 2008 05:41:28 +0000 (05:41 +0000)]
Add MkCore, holding general Core construction facilities

13 years agoDocument HscTypes, refactor it somewhat, remove unused type and add MonadThings
Max Bolingbroke [Thu, 31 Jul 2008 05:40:42 +0000 (05:40 +0000)]
Document HscTypes, refactor it somewhat, remove unused type and add MonadThings

13 years agoUse new RdrName export in RdrHsSyn
Max Bolingbroke [Thu, 31 Jul 2008 05:37:31 +0000 (05:37 +0000)]
Use new RdrName export in RdrHsSyn

13 years agoDocument CoreUtils
Max Bolingbroke [Thu, 31 Jul 2008 05:35:42 +0000 (05:35 +0000)]
Document CoreUtils

13 years agoDocument Packages and a minor refactoring
Max Bolingbroke [Thu, 31 Jul 2008 05:30:54 +0000 (05:30 +0000)]
Document Packages and a minor refactoring

13 years agoDocument CoreSyn and expand its API
Max Bolingbroke [Thu, 31 Jul 2008 05:29:41 +0000 (05:29 +0000)]
Document CoreSyn and expand its API

13 years agoDocument IdInfo
Max Bolingbroke [Thu, 31 Jul 2008 05:28:19 +0000 (05:28 +0000)]
Document IdInfo

13 years agoDocument DynFlags and expand API
Max Bolingbroke [Thu, 31 Jul 2008 05:26:53 +0000 (05:26 +0000)]
Document DynFlags and expand API

13 years agoDocument OccName and expand it's API
Max Bolingbroke [Thu, 31 Jul 2008 05:22:38 +0000 (05:22 +0000)]
Document OccName and expand it's API

13 years agoFollow Digraph changes in VectType
Max Bolingbroke [Thu, 31 Jul 2008 01:23:56 +0000 (01:23 +0000)]
Follow Digraph changes in VectType

13 years agoFollow OccName changes in VectBuiltIn
Max Bolingbroke [Thu, 31 Jul 2008 01:23:55 +0000 (01:23 +0000)]
Follow OccName changes in VectBuiltIn

13 years agoDocument Util
Max Bolingbroke [Thu, 7 Aug 2008 11:55:05 +0000 (11:55 +0000)]
Document Util

13 years agoDocument UniqSet
Max Bolingbroke [Thu, 31 Jul 2008 01:23:55 +0000 (01:23 +0000)]
Document UniqSet

13 years agoDocument UniqFM and add listToUFM_C
Max Bolingbroke [Thu, 31 Jul 2008 01:23:55 +0000 (01:23 +0000)]
Document UniqFM and add listToUFM_C

13 years agoFollow FastString changes in Pretty
Max Bolingbroke [Thu, 31 Jul 2008 01:23:54 +0000 (01:23 +0000)]
Follow FastString changes in Pretty

13 years agoDocument Outputable
Max Bolingbroke [Thu, 7 Aug 2008 11:48:06 +0000 (11:48 +0000)]
Document Outputable

13 years agoDocument FiniteMap
Max Bolingbroke [Thu, 31 Jul 2008 01:23:53 +0000 (01:23 +0000)]
Document FiniteMap

13 years agoDocument FastString and rename strLength to lengthLS
Max Bolingbroke [Thu, 31 Jul 2008 01:23:53 +0000 (01:23 +0000)]
Document FastString and rename strLength to lengthLS

13 years agoAdd more functionality to Digraph and refactor it's interface somewhat, including...
Max Bolingbroke [Thu, 31 Jul 2008 01:23:53 +0000 (01:23 +0000)]
Add more functionality to Digraph and refactor it's interface somewhat, including adding a Graph ADT

13 years agoDocument TypeRep and follow OccName change
Max Bolingbroke [Thu, 31 Jul 2008 01:23:52 +0000 (01:23 +0000)]
Document TypeRep and follow OccName change

13 years agoDocument Type
Max Bolingbroke [Thu, 31 Jul 2008 01:23:52 +0000 (01:23 +0000)]
Document Type

13 years agoDocument TyCon
Max Bolingbroke [Thu, 31 Jul 2008 01:23:52 +0000 (01:23 +0000)]
Document TyCon

13 years agoDocument Coercion
Max Bolingbroke [Thu, 31 Jul 2008 01:23:51 +0000 (01:23 +0000)]
Document Coercion

13 years agoFollow Digraph changes in TcTyDecls
Max Bolingbroke [Thu, 31 Jul 2008 01:23:51 +0000 (01:23 +0000)]
Follow Digraph changes in TcTyDecls

13 years agoMake IOEnv a MonadUnique
Max Bolingbroke [Thu, 31 Jul 2008 01:23:51 +0000 (01:23 +0000)]
Make IOEnv a MonadUnique

13 years agoFollow TcEnv API addition in TcForeign
Max Bolingbroke [Thu, 31 Jul 2008 01:23:50 +0000 (01:23 +0000)]
Follow TcEnv API addition in TcForeign

13 years agoFollow Digraph changes in TcBinds
Max Bolingbroke [Thu, 31 Jul 2008 01:23:50 +0000 (01:23 +0000)]
Follow Digraph changes in TcBinds

13 years agoFollow OccName and MkCore changes in Inst
Max Bolingbroke [Thu, 31 Jul 2008 01:23:49 +0000 (01:23 +0000)]
Follow OccName and MkCore changes in Inst

13 years agoDocument Rules
Max Bolingbroke [Thu, 31 Jul 2008 01:23:49 +0000 (01:23 +0000)]
Document Rules

13 years agoFollow Literal change in Simplify
Max Bolingbroke [Thu, 31 Jul 2008 01:23:49 +0000 (01:23 +0000)]
Follow Literal change in Simplify

13 years agoFollow Digraph changes in OccurAnal
Max Bolingbroke [Thu, 31 Jul 2008 01:23:48 +0000 (01:23 +0000)]
Follow Digraph changes in OccurAnal

13 years agoFollow Digraph changes in RnBinds and small refactoring
Max Bolingbroke [Thu, 31 Jul 2008 01:23:48 +0000 (01:23 +0000)]
Follow Digraph changes in RnBinds and small refactoring

13 years agoDocument TysWiredIn and follow OccName changes
Max Bolingbroke [Thu, 31 Jul 2008 01:23:47 +0000 (01:23 +0000)]
Document TysWiredIn and follow OccName changes

13 years agoFollow OccName changes in TysPrim
Max Bolingbroke [Thu, 31 Jul 2008 01:23:47 +0000 (01:23 +0000)]
Follow OccName changes in TysPrim

13 years agoFollow OccName changes in ParserCore
Max Bolingbroke [Thu, 31 Jul 2008 01:23:47 +0000 (01:23 +0000)]
Follow OccName changes in ParserCore

13 years agoFollow Digraph changes in RegLiveness
Max Bolingbroke [Thu, 31 Jul 2008 01:23:46 +0000 (01:23 +0000)]
Follow Digraph changes in RegLiveness

13 years agoFollow Digraph changes in RegAllocLinear.hs
Max Bolingbroke [Thu, 31 Jul 2008 01:23:46 +0000 (01:23 +0000)]
Follow Digraph changes in RegAllocLinear.hs

13 years agoFollow Digraph changes in AsmCodeGen
Max Bolingbroke [Thu, 31 Jul 2008 01:23:46 +0000 (01:23 +0000)]
Follow Digraph changes in AsmCodeGen

13 years agoDocument InteractiveEval and follow OccName change
Max Bolingbroke [Thu, 31 Jul 2008 01:23:45 +0000 (01:23 +0000)]
Document InteractiveEval and follow OccName change

13 years agoFollow Digraph changes in GHC; patch from Max Bolingbroke
Ian Lynagh [Thu, 7 Aug 2008 11:25:10 +0000 (11:25 +0000)]
Follow Digraph changes in GHC; patch from Max Bolingbroke

13 years agoExpand ErrUtils api with another plain variant
Max Bolingbroke [Thu, 31 Jul 2008 01:23:44 +0000 (01:23 +0000)]
Expand ErrUtils api with another plain variant

13 years agoFollow OccName changes and minor refactorings in TcIface
Max Bolingbroke [Thu, 31 Jul 2008 01:23:43 +0000 (01:23 +0000)]
Follow OccName changes and minor refactorings in TcIface

13 years agoFollow Digraph changes in MkIface
Max Bolingbroke [Thu, 31 Jul 2008 01:23:43 +0000 (01:23 +0000)]
Follow Digraph changes in MkIface

13 years agoMinor refactoring in RtClosureInspect
Max Bolingbroke [Thu, 31 Jul 2008 01:23:42 +0000 (01:23 +0000)]
Minor refactoring in RtClosureInspect

13 years agoHandle optSrcSpanFileName in InteractiveUI
Max Bolingbroke [Thu, 31 Jul 2008 01:23:42 +0000 (01:23 +0000)]
Handle optSrcSpanFileName in InteractiveUI

13 years agoHandle introduction of MkCore in MatchLit
Max Bolingbroke [Thu, 31 Jul 2008 01:23:42 +0000 (01:23 +0000)]
Handle introduction of MkCore in MatchLit

13 years agoHandle introduction of MkCore in MatchCon
Max Bolingbroke [Thu, 31 Jul 2008 01:23:42 +0000 (01:23 +0000)]
Handle introduction of MkCore in MatchCon

13 years agoHandle introduction of MkCore in Match
Max Bolingbroke [Thu, 31 Jul 2008 01:23:41 +0000 (01:23 +0000)]
Handle introduction of MkCore in Match

13 years agoHandle introduction of MkCore in DsUtils
Max Bolingbroke [Thu, 31 Jul 2008 01:23:41 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsUtils

13 years agoHandle introduction of MkCore in DsMeta
Max Bolingbroke [Thu, 31 Jul 2008 01:23:40 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsMeta

13 years agoHandle introduction of MkCore in DsListComp
Max Bolingbroke [Thu, 31 Jul 2008 01:23:40 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsListComp

13 years agoHandle introduction of MkCore in DsForeign
Max Bolingbroke [Thu, 31 Jul 2008 01:23:40 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsForeign

13 years agoHandle introduction of MkCore in DsExpr
Max Bolingbroke [Thu, 31 Jul 2008 01:23:40 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsExpr

13 years agoHandle introduction of MkCore in DsBinds
Max Bolingbroke [Thu, 31 Jul 2008 01:23:39 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsBinds

13 years agoHandle introduction of MkCore in DsArrows
Max Bolingbroke [Thu, 31 Jul 2008 01:23:39 +0000 (01:23 +0000)]
Handle introduction of MkCore in DsArrows

13 years agoHandle optSrcSpanFileName rename in Coverage
Max Bolingbroke [Thu, 31 Jul 2008 01:23:39 +0000 (01:23 +0000)]
Handle optSrcSpanFileName rename in Coverage

13 years agoDocument CgUtils, follow Digraph changes
Max Bolingbroke [Thu, 31 Jul 2008 01:23:37 +0000 (01:23 +0000)]
Document CgUtils, follow Digraph changes

13 years agoDocument UniqSupply
Max Bolingbroke [Thu, 31 Jul 2008 01:23:34 +0000 (01:23 +0000)]
Document UniqSupply

13 years agoDocument SrcLoc
Max Bolingbroke [Thu, 31 Jul 2008 01:23:34 +0000 (01:23 +0000)]
Document SrcLoc

13 years agoDocument RdrName and expand its API
Max Bolingbroke [Thu, 31 Jul 2008 01:23:34 +0000 (01:23 +0000)]
Document RdrName and expand its API

13 years agoMake Module Uniquable
Max Bolingbroke [Thu, 31 Jul 2008 01:23:32 +0000 (01:23 +0000)]
Make Module Uniquable

13 years agoTweak comments in MkId and follow mkStringLit renaming
Max Bolingbroke [Thu, 31 Jul 2008 01:23:32 +0000 (01:23 +0000)]
Tweak comments in MkId and follow mkStringLit renaming

13 years agoDocument Literal, expand it's API and rename mkStringLit to mkMachString
Max Bolingbroke [Thu, 31 Jul 2008 01:23:31 +0000 (01:23 +0000)]
Document Literal, expand it's API and rename mkStringLit to mkMachString

13 years agoDocument Id
Max Bolingbroke [Thu, 31 Jul 2008 01:23:31 +0000 (01:23 +0000)]
Document Id

13 years agoSplit the Id related functions out from Var into Id, document Var and some of Id
Max Bolingbroke [Thu, 31 Jul 2008 01:23:30 +0000 (01:23 +0000)]
Split the Id related functions out from Var into Id, document Var and some of Id