ghc.git
7 years agoRemove redundant warning suppression in basicTypes/Literal.lhs
Ian Lynagh [Mon, 18 Jun 2012 12:11:57 +0000 (13:11 +0100)] 
Remove redundant warning suppression in basicTypes/Literal.lhs

7 years agoMake -dtrace-level a dynamic flag
Ian Lynagh [Mon, 18 Jun 2012 10:21:59 +0000 (11:21 +0100)] 
Make -dtrace-level a dynamic flag

7 years agoSwitch to using the 'rubenvb' mingw builds
Ian Lynagh [Sun, 17 Jun 2012 20:49:18 +0000 (21:49 +0100)] 
Switch to using the 'rubenvb' mingw builds

7 years agoMerge branch 'master' of http://darcs.haskell.org//ghc
Ian Lynagh [Sun, 17 Jun 2012 20:42:38 +0000 (21:42 +0100)] 
Merge branch 'master' of darcs.haskell.org//ghc

7 years agoBuild fix for Hurd.
Paolo Capriotti [Sun, 17 Jun 2012 15:28:36 +0000 (16:28 +0100)] 
Build fix for Hurd.

Patch by Samuel Thibault.

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659530.

7 years agoMerge branch 'master' of http://darcs.haskell.org//ghc
Ian Lynagh [Sat, 16 Jun 2012 22:26:42 +0000 (23:26 +0100)] 
Merge branch 'master' of darcs.haskell.org//ghc

7 years agoMerge branch 'master' of http://darcs.haskell.org//ghc
Ian Lynagh [Sat, 16 Jun 2012 21:50:10 +0000 (22:50 +0100)] 
Merge branch 'master' of darcs.haskell.org//ghc

7 years agoMerge win:c:/m64/reg14
Ian Lynagh [Sat, 16 Jun 2012 21:38:17 +0000 (22:38 +0100)] 
Merge win:c:/m64/reg14

7 years agoFix build on win64
Ian Lynagh [Sat, 16 Jun 2012 20:40:26 +0000 (21:40 +0100)] 
Fix build on win64

7 years agoRemove a redundant import
Ian Lynagh [Sat, 16 Jun 2012 19:10:54 +0000 (20:10 +0100)] 
Remove a redundant import

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Sat, 16 Jun 2012 19:02:50 +0000 (20:02 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoRemove a workaround for building with GHC 6.9
Ian Lynagh [Sat, 16 Jun 2012 19:02:15 +0000 (20:02 +0100)] 
Remove a workaround for building with GHC 6.9

7 years agoDon't put auto sccs on INLINE functions (#6131)
Simon Marlow [Fri, 15 Jun 2012 09:30:35 +0000 (10:30 +0100)] 
Don't put auto sccs on INLINE functions (#6131)

There was also a bug caused by INLINEs getting SCCs, but unfortunately
I have lost the test case.  The Note in the code describes the problem
though.

7 years agosmall tidyup
Simon Marlow [Thu, 1 Mar 2012 14:18:17 +0000 (14:18 +0000)] 
small tidyup

7 years agofix ticket number in comment
Simon Marlow [Tue, 12 Jun 2012 09:47:41 +0000 (10:47 +0100)] 
fix ticket number in comment

7 years agouse definition of mdo segmentation from the workshop paper
Ross Paterson [Fri, 15 Jun 2012 08:43:24 +0000 (09:43 +0100)] 
use definition of mdo segmentation from the workshop paper

7 years agoSimplify some code
Ian Lynagh [Thu, 14 Jun 2012 18:41:57 +0000 (19:41 +0100)] 
Simplify some code

We were pointlessly going from String to SDoc and back again

7 years agoMake -dppr-case-as-let a dynamic flag
Ian Lynagh [Thu, 14 Jun 2012 16:18:27 +0000 (17:18 +0100)] 
Make -dppr-case-as-let a dynamic flag

7 years agoFix ghc/ following -dppr-user-length changes
Ian Lynagh [Thu, 14 Jun 2012 16:00:44 +0000 (17:00 +0100)] 
Fix ghc/ following -dppr-user-length changes

7 years agoFix whitespace in coreSyn/PprCore.lhs
Ian Lynagh [Thu, 14 Jun 2012 15:30:53 +0000 (16:30 +0100)] 
Fix whitespace in coreSyn/PprCore.lhs

7 years agoBe strict in the DynFlags inside an SDoc
Ian Lynagh [Thu, 14 Jun 2012 15:24:32 +0000 (16:24 +0100)] 
Be strict in the DynFlags inside an SDoc

This is safe now that the tracingDynFlags is not just a call to panic.
Not sure if it was causing a problem as it was, but this change should
help make sure we don't get a chain of thunks built up inside SDocs.

7 years agoChange -dppr-user-length from a static to a dynamic flag
Ian Lynagh [Thu, 14 Jun 2012 15:20:06 +0000 (16:20 +0100)] 
Change -dppr-user-length from a static to a dynamic flag

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 14 Jun 2012 11:46:48 +0000 (12:46 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoRename Coverage.dflags to Coverage.tte_dflags
Ian Lynagh [Thu, 14 Jun 2012 01:40:02 +0000 (02:40 +0100)] 
Rename Coverage.dflags to Coverage.tte_dflags

The record field was confusingly using the same name that the value
normally uses.

7 years agoFix whitespace in deSugar/Coverage.lhs
Ian Lynagh [Thu, 14 Jun 2012 01:17:26 +0000 (02:17 +0100)] 
Fix whitespace in deSugar/Coverage.lhs

7 years agoStop exporting, and stop using, some deprecated functions
Ian Lynagh [Wed, 13 Jun 2012 17:30:07 +0000 (18:30 +0100)] 
Stop exporting, and stop using, some deprecated functions

7 years agoUse 'ppr' rather than 'pprCLabel platform'
Ian Lynagh [Wed, 13 Jun 2012 16:58:08 +0000 (17:58 +0100)] 
Use 'ppr' rather than 'pprCLabel platform'

Means we can stop passing platform around as much.

7 years agoRemove more redundant Platform arguments
Ian Lynagh [Wed, 13 Jun 2012 16:52:00 +0000 (17:52 +0100)] 
Remove more redundant Platform arguments

7 years agoRemove more redundant Platform arguments
Ian Lynagh [Wed, 13 Jun 2012 16:36:47 +0000 (17:36 +0100)] 
Remove more redundant Platform arguments

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 13 Jun 2012 16:26:56 +0000 (17:26 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoSimplify the implementation of Implicit Parameters
Simon Peyton Jones [Wed, 13 Jun 2012 16:21:09 +0000 (17:21 +0100)] 
Simplify the implementation of Implicit Parameters

This patch re-implements implicit parameters via a class
with a functional dependency:

    class IP (n::Symbol) a | n -> a where
      ip :: a

This definition is in the library module GHC.IP. Notice
how it use a type-literal, so we can have constraints like
   IP "x" Int
Now all the functional dependency machinery works right to make
implicit parameters behave as they should.

Much special-case processing for implicit parameters can be removed
entirely. One particularly nice thing is not having a dedicated
"original-name cache" for implicit parameters (the nsNames field of
NameCache).  But many other cases disappear:

  * BasicTypes.IPName
  * IPTyCon constructor in Tycon.TyCon
  * CIPCan constructor  in TcRnTypes.Ct
  * IPPred constructor  in Types.PredTree

Implicit parameters remain special in a few ways:

 * Special syntax.  Eg the constraint (IP "x" Int) is parsed
   and printed as (?x::Int).  And we still have local bindings
   for implicit parameters, and occurrences thereof.

 * A implicit-parameter binding  (let ?x = True in e) amounts
   to a local instance declaration, which we have not had before.
   It just generates an implication contraint (easy), but when
   going under it we must purge any existing bindings for
   ?x in the inert set.  See Note [Shadowing of Implicit Parameters]
   in TcSimplify

 * TcMType.sizePred classifies implicit parameter constraints as size-0,
   as before the change

There are accompanying patches to libraries 'base' and 'haddock'

All the work was done by Iavor Diatchki

7 years agoRemove some more Platform arguments
Ian Lynagh [Wed, 13 Jun 2012 16:20:46 +0000 (17:20 +0100)] 
Remove some more Platform arguments

7 years agoRemove more unused Platform arguments
Ian Lynagh [Wed, 13 Jun 2012 15:44:55 +0000 (16:44 +0100)] 
Remove more unused Platform arguments

7 years agoRemove some unnecessary platform arguments
Ian Lynagh [Wed, 13 Jun 2012 15:38:27 +0000 (16:38 +0100)] 
Remove some unnecessary platform arguments

7 years agoAdd missing file
Ian Lynagh [Wed, 13 Jun 2012 12:47:25 +0000 (13:47 +0100)] 
Add missing file

7 years agoFollow spelling fixes
Ian Lynagh [Wed, 13 Jun 2012 12:16:06 +0000 (13:16 +0100)] 
Follow spelling fixes

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 13 Jun 2012 12:14:41 +0000 (13:14 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

Fix conflicts in:
compiler/main/DynFlags.hs

7 years agoRemove lots of commented out 'in' keywords
Ian Lynagh [Wed, 13 Jun 2012 12:06:03 +0000 (13:06 +0100)] 
Remove lots of commented out 'in' keywords

7 years agoTweak the way UsageErrors are constructed
Ian Lynagh [Wed, 13 Jun 2012 11:59:06 +0000 (12:59 +0100)] 
Tweak the way UsageErrors are constructed

Using 'unlines' meant that we get a trailing newline, which gave
different output.

7 years agoRemove PlatformOutputable
Ian Lynagh [Wed, 13 Jun 2012 11:13:00 +0000 (12:13 +0100)] 
Remove PlatformOutputable

We can now get the Platform from the DynFlags inside an SDoc, so we
no longer need to pass the Platform in.

7 years agoWhitespace only in nativeGen/RegAlloc/Graph/Main.hs
Ian Lynagh [Tue, 12 Jun 2012 23:45:33 +0000 (00:45 +0100)] 
Whitespace only in nativeGen/RegAlloc/Graph/Main.hs

7 years agoMake tracingDynFlags slightly more defined
Ian Lynagh [Tue, 12 Jun 2012 22:29:53 +0000 (23:29 +0100)] 
Make tracingDynFlags slightly more defined

In particular, fields like 'flags' are now set to the default,
so at least they will work to some extent.

7 years agoPass DynFlags down to pprDefiniteTrace
Ian Lynagh [Tue, 12 Jun 2012 22:23:03 +0000 (23:23 +0100)] 
Pass DynFlags down to pprDefiniteTrace

7 years agoAdd DynFlags to the SDoc state
Ian Lynagh [Tue, 12 Jun 2012 22:15:11 +0000 (23:15 +0100)] 
Add DynFlags to the SDoc state

7 years agoUse SDoc rather than Doc in the native gens
Ian Lynagh [Tue, 12 Jun 2012 20:55:09 +0000 (21:55 +0100)] 
Use SDoc rather than Doc in the native gens

This avoid lots of converting back and forth between the two types.

7 years agoUse SDoc rather than Doc in LLVM
Ian Lynagh [Tue, 12 Jun 2012 20:27:55 +0000 (21:27 +0100)] 
Use SDoc rather than Doc in LLVM

In particular, this makes life simpler when we want to use a general
GHC SDoc in the middle of some LLVM.

7 years agoPass DynFlags down to pprDebugAndThen
Ian Lynagh [Tue, 12 Jun 2012 18:44:02 +0000 (19:44 +0100)] 
Pass DynFlags down to pprDebugAndThen

7 years agoRemove unused showsPrecSDoc
Ian Lynagh [Tue, 12 Jun 2012 18:29:08 +0000 (19:29 +0100)] 
Remove unused showsPrecSDoc

7 years agoPass DynFlags down to showSDocDumpOneLine
Ian Lynagh [Tue, 12 Jun 2012 18:27:37 +0000 (19:27 +0100)] 
Pass DynFlags down to showSDocDumpOneLine

7 years agoPass DynFlags down to showSDocDebug
Ian Lynagh [Tue, 12 Jun 2012 18:23:07 +0000 (19:23 +0100)] 
Pass DynFlags down to showSDocDebug

7 years agoPass DynFlags down to showSDoc
Ian Lynagh [Tue, 12 Jun 2012 17:52:05 +0000 (18:52 +0100)] 
Pass DynFlags down to showSDoc

7 years agoRemove unused showRdrName
Ian Lynagh [Tue, 12 Jun 2012 15:01:53 +0000 (16:01 +0100)] 
Remove unused showRdrName

It was equivalent to showPpr anyway.

7 years agoGhcApiError now contains a String, not an SDoc
Ian Lynagh [Tue, 12 Jun 2012 15:00:21 +0000 (16:00 +0100)] 
GhcApiError now contains a String, not an SDoc

7 years agoUse showPpr in a few more places
Ian Lynagh [Tue, 12 Jun 2012 14:51:50 +0000 (15:51 +0100)] 
Use showPpr in a few more places

7 years agoAvoid a needless trip via SDoc when showing a Unique
Ian Lynagh [Tue, 12 Jun 2012 14:48:49 +0000 (15:48 +0100)] 
Avoid a needless trip via SDoc when showing a Unique

7 years agoStore short error message text as a string
Ian Lynagh [Tue, 12 Jun 2012 14:47:40 +0000 (15:47 +0100)] 
Store short error message text as a string

We also store the Doc still, although we don't have to; we could
just convert back again, at the cost of some inefficiency.

But we do need the String, so that we can print it in the Show instance.

7 years agoPass DynFlags down to mk_err_msg
Ian Lynagh [Tue, 12 Jun 2012 14:40:07 +0000 (15:40 +0100)] 
Pass DynFlags down to mk_err_msg

7 years agoRemove an unused Show instance
Ian Lynagh [Tue, 12 Jun 2012 14:03:36 +0000 (15:03 +0100)] 
Remove an unused Show instance

7 years agoDon't needlessly go via SDoc in mkAutoCC
Ian Lynagh [Tue, 12 Jun 2012 12:50:12 +0000 (13:50 +0100)] 
Don't needlessly go via SDoc in mkAutoCC

7 years agoRedefine pprPanicFastInt in terms of panicDoc
Ian Lynagh [Tue, 12 Jun 2012 12:46:06 +0000 (13:46 +0100)] 
Redefine pprPanicFastInt in terms of panicDoc

7 years agotweak documentation of mdo/rec
Ross Paterson [Tue, 12 Jun 2012 12:29:10 +0000 (13:29 +0100)] 
tweak documentation of mdo/rec

7 years agoPass DynFlags down to showPpr
Ian Lynagh [Tue, 12 Jun 2012 11:42:58 +0000 (12:42 +0100)] 
Pass DynFlags down to showPpr

7 years agoRemove the Show Var instance
Ian Lynagh [Tue, 12 Jun 2012 11:22:51 +0000 (12:22 +0100)] 
Remove the Show Var instance

7 years agoProvide a way of 'show'int a Unique without going via SDoc
Ian Lynagh [Tue, 12 Jun 2012 11:05:38 +0000 (12:05 +0100)] 
Provide a way of 'show'int a Unique without going via SDoc

7 years agoReport unusable UNPACK warnings even when -O is off (#3966)
Simon Marlow [Tue, 12 Jun 2012 08:26:40 +0000 (09:26 +0100)] 
Report unusable UNPACK warnings even when -O is off (#3966)

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Tue, 12 Jun 2012 07:42:49 +0000 (08:42 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoRevive 'mdo' expressions, per discussion in Trac #4148
Simon Peyton Jones [Tue, 12 Jun 2012 07:42:36 +0000 (08:42 +0100)] 
Revive 'mdo' expressions, per discussion in Trac #4148

Summary:
  - mdo expressions are enabled by RecursiveDo pragma

  - mdo expressions perform full segmentation

  - 'rec' groups inside 'do' are changed so they do *not*
    perform any segmentation.

  - Both 'mdo' and 'rec' are enabled by 'RecursiveDo'
    'DoRec' is deprecated in favour of 'RecursiveDo'
    (The 'rec' keyword is also enabled by 'Arrows', as now.)

Thanks to Levent for doing all the work

7 years agoRemove some redundant Show instances
Ian Lynagh [Tue, 12 Jun 2012 01:03:14 +0000 (02:03 +0100)] 
Remove some redundant Show instances

7 years agoBuild fixes
Ian Lynagh [Tue, 12 Jun 2012 00:14:29 +0000 (01:14 +0100)] 
Build fixes

7 years agoPass DynFlags down to showSDocDump
Ian Lynagh [Mon, 11 Jun 2012 23:46:49 +0000 (00:46 +0100)] 
Pass DynFlags down to showSDocDump

To help with this, we now also pass DynFlags around inside the SpecM
monad.

7 years agoFix whitespace in specialise/Specialise.lhs
Ian Lynagh [Mon, 11 Jun 2012 22:54:24 +0000 (23:54 +0100)] 
Fix whitespace in specialise/Specialise.lhs

7 years agoPass DynFlags down to showSDocUnqual
Ian Lynagh [Mon, 11 Jun 2012 22:36:43 +0000 (23:36 +0100)] 
Pass DynFlags down to showSDocUnqual

7 years agoPass DynFlags down to showSDocForUser
Ian Lynagh [Mon, 11 Jun 2012 22:35:46 +0000 (23:35 +0100)] 
Pass DynFlags down to showSDocForUser

7 years agoPass DynFlags down to showSDocOneLine
Ian Lynagh [Mon, 11 Jun 2012 22:35:21 +0000 (23:35 +0100)] 
Pass DynFlags down to showSDocOneLine

7 years agoPass DynFlags to renderWithStyle
Ian Lynagh [Mon, 11 Jun 2012 21:54:17 +0000 (22:54 +0100)] 
Pass DynFlags to renderWithStyle

7 years agoMake it possible to show SrcSpans without going via Doc
Ian Lynagh [Mon, 11 Jun 2012 21:46:52 +0000 (22:46 +0100)] 
Make it possible to show SrcSpans without going via Doc

This shouldn't be any slower; the FilePaths were already going via
String so that we could normalise them.

This means that very early on, when printing flag parsing errors, we
can do so without having a DynFlags yet.

7 years agoFix whitespace in basicTypes/SrcLoc.lhs
Ian Lynagh [Mon, 11 Jun 2012 20:56:09 +0000 (21:56 +0100)] 
Fix whitespace in basicTypes/SrcLoc.lhs

7 years agoPass DynFlags down to printForC and printForAsm
Ian Lynagh [Mon, 11 Jun 2012 20:47:07 +0000 (21:47 +0100)] 
Pass DynFlags down to printForC and printForAsm

7 years agoPass DynFlags down to printForUserPartWay
Ian Lynagh [Mon, 11 Jun 2012 20:40:06 +0000 (21:40 +0100)] 
Pass DynFlags down to printForUserPartWay

7 years agoPass DynFlags down to printForUser
Ian Lynagh [Mon, 11 Jun 2012 20:39:23 +0000 (21:39 +0100)] 
Pass DynFlags down to printForUser

7 years agoPass DynFlags down to hPrintDump
Ian Lynagh [Mon, 11 Jun 2012 20:35:41 +0000 (21:35 +0100)] 
Pass DynFlags down to hPrintDump

7 years agoPass DynFlags around a bit more
Ian Lynagh [Mon, 11 Jun 2012 20:09:50 +0000 (21:09 +0100)] 
Pass DynFlags around a bit more

7 years agoPass DynFlags to the LogAction
Ian Lynagh [Mon, 11 Jun 2012 19:58:33 +0000 (20:58 +0100)] 
Pass DynFlags to the LogAction

A side-effect is that we can no longer use the LogAction in
defaultErrorHandler, as we don't have DynFlags at that point.
But all that defaultErrorHandler did is to print Strings as
SevFatal, so now it takes a 'FatalMessager' instead.

7 years agoPass DynFlags to prettyPrintGhcErrors
Ian Lynagh [Mon, 11 Jun 2012 16:43:46 +0000 (17:43 +0100)] 
Pass DynFlags to prettyPrintGhcErrors

We don't use it yet

7 years agoMake Ppr* versions of the Sorry and PgmError exceptions too
Ian Lynagh [Mon, 11 Jun 2012 16:41:20 +0000 (17:41 +0100)] 
Make Ppr* versions of the Sorry and PgmError exceptions too

7 years agoChange how pprPanic works
Ian Lynagh [Mon, 11 Jun 2012 16:25:08 +0000 (17:25 +0100)] 
Change how pprPanic works

We now include the String and the SDoc in the exception, and don't
flatten them into a String until near the top-level

7 years agofix spelling: "infered" -> "inferred"
Simon Marlow [Fri, 8 Jun 2012 08:12:49 +0000 (09:12 +0100)] 
fix spelling: "infered" -> "inferred"

7 years agoAttempt to fix the bytecode generator for unboxed tuples, given the latest changes...
Max Bolingbroke [Sat, 9 Jun 2012 17:15:01 +0000 (18:15 +0100)] 
Attempt to fix the bytecode generator for unboxed tuples, given the latest changes to unboxed tuple support

7 years agoDon't use 64-bit support functions on MIPS N32.
Michał Masłowski [Sun, 27 May 2012 13:35:03 +0000 (15:35 +0200)] 
Don't use 64-bit support functions on MIPS N32.

It uses native 64-bit instructions instead of these, despite having
32-bit pointers.

7 years agoAdd some more Integer rules
Ian Lynagh [Fri, 8 Jun 2012 19:38:42 +0000 (20:38 +0100)] 
Add some more Integer rules

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:07:57 +0000 (16:07 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoSignificant refactoring of TcSimplify, in particular simplifyInfer and
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:07:00 +0000 (16:07 +0100)] 
Significant refactoring of TcSimplify, in particular simplifyInfer and
simplifyTop, code beautification etc. Important things:

(a) New top-level defaulting plan, gotten rid of the SimplContext field.
    See Note [Top-level Defaulting Plan]

(b) Serious bug fix in the floatEqualities mechanism
    See Note [Extra TcS Untouchables],[Float Equalities out of Implications]

The changes are mostly confined in TcSimplify but there is a
simplification wave affecting other modules as well.

7 years agoEmitting Derived constraints for Given dictionary interactions
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 15:02:26 +0000 (16:02 +0100)] 
Emitting Derived constraints for Given dictionary interactions
with functional dependencies, and interactions with the top-level,
as well as minor refactoring.

7 years agoRemoving stale and commented out code.
Dimitrios.Vytiniotis [Fri, 8 Jun 2012 14:58:04 +0000 (15:58 +0100)] 
Removing stale and commented out code.

7 years agoDeprecate old -package-conf flags.
Paolo Capriotti [Fri, 8 Jun 2012 14:38:27 +0000 (15:38 +0100)] 
Deprecate old -package-conf flags.

7 years agoMerge remote-tracking branch 'origin/pretty-build'
Paolo Capriotti [Fri, 8 Jun 2012 13:24:19 +0000 (14:24 +0100)] 
Merge remote-tracking branch 'origin/pretty-build'

7 years agoTypo in comment
Simon Peyton Jones [Fri, 8 Jun 2012 08:52:04 +0000 (09:52 +0100)] 
Typo in comment

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 8 Jun 2012 08:47:07 +0000 (09:47 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoAllow equalities in a derived instance context
Simon Peyton Jones [Fri, 8 Jun 2012 08:44:23 +0000 (09:44 +0100)] 
Allow equalities in a derived instance context

Fixes Trac #6147

7 years agoMake the ambiguity check more conservative so that it does not reject valid programs
Simon Peyton Jones [Fri, 8 Jun 2012 08:43:12 +0000 (09:43 +0100)] 
Make the ambiguity check more conservative so that it does not reject valid programs

See Note [The ambiguity check for type signatures] in TcMType,
and Trac #6134, which this change fixes.

A bit of refactoring as usual.