Simon Marlow [Thu, 12 Apr 2012 10:21:41 +0000 (11:21 +0100)]
updateThunk: minor tweak to avoid an unnecessary call to checkBlockingQueues
Simon Marlow [Thu, 12 Apr 2012 10:21:02 +0000 (11:21 +0100)]
Allow threads in GHCi to receive BlockedIndefintely* exceptions (#2786)
This is a partial fix for #2786. It seems we still don't get
NonTermination exceptions for interpreted computations, but we do now
get the BlockedIndefinitely family.
Paolo Capriotti [Thu, 12 Apr 2012 09:44:31 +0000 (10:44 +0100)]
Fix instance signature error message (#6001)
Display class method signature instead of user-provided signature.
Paolo Capriotti [Thu, 29 Mar 2012 22:19:04 +0000 (23:19 +0100)]
Fix a race condition in the GHCi debugger exposed by testcase break011.
Paolo Capriotti [Wed, 28 Mar 2012 15:11:34 +0000 (16:11 +0100)]
Do not re-encode correctly encoded inputs and arguments (#5795)
Paolo Capriotti [Wed, 11 Apr 2012 13:34:25 +0000 (14:34 +0100)]
Add support for additional .ghci files in GHCi (#5265)
Patch by Sam Anklesaria <amsay@amsay.net>
Paolo Capriotti [Wed, 11 Apr 2012 13:19:25 +0000 (14:19 +0100)]
Revert "trac #5265 (support for additional .ghci files)"
This reverts commit
991f141989940c897cb2fc3dba7b5b49342d402a.
Simon Marlow [Wed, 11 Apr 2012 10:38:56 +0000 (11:38 +0100)]
Turn on TRACE_gc with +RTS -Ds (this regressed at some point)
Simon Marlow [Wed, 11 Apr 2012 10:38:24 +0000 (11:38 +0100)]
Improve the handling of threadDelay in the non-threaded RTS
Firstly, we were rounding up too much, such that the smallest delay
was 20ms. Secondly, there is no need to use millisecond resolution on
a 64-bit machine where we have room in the TSO to use the normal
nanosecond resolution that we use elsewhere in the RTS.
Simon Marlow [Wed, 11 Apr 2012 09:58:56 +0000 (10:58 +0100)]
Fix crash with debug tracing and the new heap events
Simon Marlow [Wed, 11 Apr 2012 09:12:14 +0000 (10:12 +0100)]
Disable the timer signal while blocked in select() (#5991)
The threaded RTS had a fix for this a long time ago (#1623) but this
patch applies a similar fix to the non-threaded RTS.
Simon Marlow [Wed, 11 Apr 2012 08:47:54 +0000 (09:47 +0100)]
small cleanup
Simon Marlow [Tue, 10 Apr 2012 15:31:13 +0000 (16:31 +0100)]
fix quadratic performance issue with long module names (#5981)
Dimitrios.Vytiniotis [Tue, 10 Apr 2012 08:57:28 +0000 (09:57 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Dimitrios.Vytiniotis [Tue, 10 Apr 2012 08:57:10 +0000 (09:57 +0100)]
Setting empty touchable range in implications that are generated from polytype
decomposition in the constraint solver.
Manuel M T Chakravarty [Tue, 10 Apr 2012 04:13:40 +0000 (14:13 +1000)]
Fix RTS build on OS X
* The following commits made validate fail on OS X (Lion):
65aaa9b2715c5245838123f3a0fa5d92e0a66bce and
c294d95dc04950ab4c5380bf6ce8651f621f8591
* I just commented out all offending code until it validated again. The original authors need to clean this up.
Dimitrios.Vytiniotis [Tue, 10 Apr 2012 01:11:25 +0000 (02:11 +0100)]
Updates to the constraint solver to be able to handle implication
constraint generation during solveInteractCts, needed for polytype
equality decomposition. More commentary to follow.
Iavor S. Diatchki [Mon, 9 Apr 2012 02:38:45 +0000 (19:38 -0700)]
Update names to match the implementation in GHC.TypeLits.
Paolo Capriotti [Fri, 6 Apr 2012 14:01:01 +0000 (15:01 +0100)]
Allow promoted constructors in the typedoc production (#5948)
Dimitrios.Vytiniotis [Thu, 5 Apr 2012 19:42:33 +0000 (20:42 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Dimitrios.Vytiniotis [Thu, 5 Apr 2012 19:37:17 +0000 (20:37 +0100)]
Improved caching: I was flushing the solved when going under implications,
this was the reason for the regression of T3064.
Dimitrios.Vytiniotis [Thu, 5 Apr 2012 19:34:51 +0000 (20:34 +0100)]
Implemeting a lookup modulo non-idempotent substitution.
Simon Peyton Jones [Thu, 5 Apr 2012 10:43:19 +0000 (11:43 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Simon Peyton Jones [Thu, 5 Apr 2012 10:42:53 +0000 (11:42 +0100)]
Fix Trac #5952, by changing the Outputable TyCon instance,
so that it does not print a quote in front of a promoted
TyCon in a Kind.
I also systematically renamed
PromotedTypeTyCon --> PromotedTyCon
PromotedDataTyCon --> PromotedDataCon
Simon Peyton Jones [Thu, 5 Apr 2012 10:39:46 +0000 (11:39 +0100)]
Merge branch 'master' of darcs.haskell.org//ghc
Simon Peyton Jones [Thu, 5 Apr 2012 10:39:33 +0000 (11:39 +0100)]
Improve kind-checking of type splices slightly
It is still Not Right, but can't readily be fixed until
the major overhaul of TH described in Simon PJ's 2011
GHC blog post. (Then type splices will be done in
the renamer.)
Simon Peyton Jones [Thu, 5 Apr 2012 10:37:02 +0000 (11:37 +0100)]
Improve error reporting for out-of-scope variables
Sometimes when a variable is out of scope in the type-checker,
it's not a GHC bug, but rather a TH staging error. See
Note [Out of scope might be a staging error] in TcEnv.
This showed up as Trac #5795.
Simon Peyton Jones [Thu, 5 Apr 2012 10:30:02 +0000 (11:30 +0100)]
White space only
Dimitrios.Vytiniotis [Thu, 5 Apr 2012 08:03:31 +0000 (09:03 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
David Terei [Wed, 4 Apr 2012 22:14:24 +0000 (15:14 -0700)]
--amend
David Terei [Tue, 3 Apr 2012 02:00:51 +0000 (19:00 -0700)]
Fix GHC API with respect to safe haskell. (#5989)
This fixes haddock so it correctly reports
the safe haskell mode of a module.
David Terei [Tue, 3 Apr 2012 19:37:30 +0000 (12:37 -0700)]
Update safe haskell error/warn formatting
David Terei [Tue, 3 Apr 2012 01:58:43 +0000 (18:58 -0700)]
Fix tracking of reason safe inference failed. (#5988)
David Terei [Mon, 2 Apr 2012 22:07:26 +0000 (15:07 -0700)]
Fix uneeded test in safe haskell code
Mikolaj [Fri, 9 Mar 2012 19:51:30 +0000 (20:51 +0100)]
Add the GC_GLOBAL_SYNC event marking that all caps are stopped for GC
Quoting design rationale by dcoutts: The event indicates that we're doing
a stop-the-world GC and all other HECs should be between their GC_START
and GC_END events at that moment. We don't want to use GC_STATS_GHC
for that, because GC_STATS_GHC is for extra GHC-specific info,
not something we have to rely on to be able to match the GC pauses
across HECs to a particular global GC.
Mikolaj [Fri, 9 Mar 2012 13:22:06 +0000 (14:22 +0100)]
Fix the timestamps in GC_START and GC_END events on the GC-initiating cap
There was a discrepancy between GC times reported in +RTS -s
and the timestamps of GC_START and GC_END events on the cap,
on which +RTS -s stats for the given GC are based.
This is fixed by posting the events with exactly the same timestamp
as generated for the stat calculation. The calls posting the events
are moved too, so that the events are emitted close to the time instant
they claim to be emitted at. The GC_STATS_GHC was moved, too, ensuring
it's emitted before the moved GC_END on all caps, which simplifies tools code.
Duncan Coutts [Wed, 22 Feb 2012 18:25:27 +0000 (18:25 +0000)]
Emit final heap alloc events and rearrange code to calculate alloc totals
In stat_exit we want to emit a final EVENT_HEAP_ALLOCATED for each cap
so that we get the same total allocation count as reported via +RTS -s.
To do so we need to update the per-cap total_allocated counts.
Previously we had a single calcAllocated(rtsBool) function that counted
the large allocations and optionally the nurseries for all caps. The GC
would always call it with false, and the stat_exit always with true.
The reason for these two modes is that the GC counts the nurseries via
clearNurseries() (which also updates the per-cap total_allocated
counts), so it's only the stat_exit() path that needs to count them.
We now split the calcAllocated() function into two: countLargeAllocated
and updateNurseriesStats. As the name suggests, the latter now updates
the per-cap total_allocated counts, in additon to returning a total.
Duncan Coutts [Wed, 22 Feb 2012 01:41:29 +0000 (01:41 +0000)]
Move trace of cap delete from shutdownCapability to freeCapability
Will let us do final per-cap trace events from stat_exit().
Otherwise we would end up with eventlogs with events for caps
that have already been deleted.
Duncan Coutts [Fri, 3 Feb 2012 13:52:06 +0000 (13:52 +0000)]
Adjust the eventlog description header for the spark counter event
The EventLogFormat.h described the spark counter fields in a different
order to that which ghc emits (the GC'd and fizzled fields were
reversed). At this stage it is easier to fix the ghc-events lib and
to have ghc continue to emit them in the current order.
Duncan Coutts [Mon, 6 Feb 2012 12:22:18 +0000 (12:22 +0000)]
Add new eventlog events for various heap and GC statistics
They cover much the same info as is available via the GHC.Stats module
or via the '+RTS -s' textual output, but via the eventlog and with a
better sampling frequency.
We have three new generic heap info events and two very GHC-specific
ones. (The hope is the general ones are usable by other implementations
that use the same eventlog system, or indeed not so sensitive to changes
in GHC itself.)
The general ones are:
* total heap mem allocated since prog start, on a per-HEC basis
* current size of the heap (MBlocks reserved from OS for the heap)
* current size of live data in the heap
Currently these are all emitted by GHC at GC time (live data only at
major GC).
The GHC specific ones are:
* an event giving various static heap paramaters:
* number of generations (usually 2)
* max size if any
* nursary size
* MBlock and block sizes
* a event emitted on each GC containing:
* GC generation (usually just 0,1)
* total bytes copied
* bytes lost to heap slop and fragmentation
* the number of threads in the parallel GC (1 for serial)
* the maximum number of bytes copied by any par GC thread
* the total number of bytes copied by all par GC threads
(these last three can be used to calculate an estimate of the
work balance in parallel GCs)
Duncan Coutts [Fri, 17 Feb 2012 02:55:29 +0000 (02:55 +0000)]
Change the presentation of parallel GC work balance in +RTS -s
Also rename internal variables to make the names match what they hold.
The parallel GC work balance is calculated using the total amount of
memory copied by all GC threads, and the maximum copied by any
individual thread. You have serial GC when the max is the same as
copied, and perfectly balanced GC when total/max == n_caps.
Previously we presented this as the ratio total/max and told users
that the serial value was 1 and the ideal value N, for N caps, e.g.
Parallel GC work balance: 1.05 (4045071 / 3846774, ideal 2)
The downside of this is that the user always has to keep in mind the
number of cores being used. Our new presentation uses a normalised
scale 0--1 as a percentage. The 0% means completely serial and 100%
is perfect balance, e.g.
Parallel GC work balance: 4.56% (serial 0%, perfect 100%)
Duncan Coutts [Fri, 3 Feb 2012 12:57:19 +0000 (12:57 +0000)]
Calculate the total memory allocated on a per-capability basis
In addition to the existing global method. For now we just do
it both ways and assert they give the same grand total. At some
stage we can simplify the global method to just take the sum of
the per-cap counters.
Duncan Coutts [Fri, 3 Feb 2012 12:20:36 +0000 (12:20 +0000)]
Add eventlog/trace stuff for capabilities: create/delete/enable/disable
Now that we can adjust the number of capabilities on the fly, we need
this reflected in the eventlog. Previously the eventlog had a single
startup event that declared a static number of capabilities. Obviously
that's no good anymore.
For compatability we're keeping the EVENT_STARTUP but adding new
EVENT_CAP_CREATE/DELETE. The EVENT_CAP_DELETE is actually just the old
EVENT_SHUTDOWN but renamed and extended (using the existing mechanism
to extend eventlog events in a compatible way). So we now emit both
EVENT_STARTUP and EVENT_CAP_CREATE. One day we will drop EVENT_STARTUP.
Since reducing the number of capabilities at runtime does not really
delete them, it just disables them, then we also have new events for
disable/enable.
The old EVENT_SHUTDOWN was in the scheduler class of events. The new
EVENT_CAP_* events are in the unconditional class, along with the
EVENT_CAPSET_* ones. Knowing when capabilities are created and deleted
is crucial to making sense of eventlogs, you always want those events.
In any case, they're extremely low volume.
Dimitrios.Vytiniotis [Wed, 4 Apr 2012 16:03:09 +0000 (17:03 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
Simon Peyton Jones [Wed, 4 Apr 2012 14:58:37 +0000 (15:58 +0100)]
Document optimisation passes, to some extent at least
Dimitrios.Vytiniotis [Wed, 4 Apr 2012 13:39:29 +0000 (14:39 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
Dimitrios.Vytiniotis [Wed, 4 Apr 2012 13:38:26 +0000 (14:38 +0100)]
Adding a forgotten pre-canonicalication cache-lookup stage.
Simon Peyton Jones [Wed, 4 Apr 2012 13:17:54 +0000 (14:17 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 4 Apr 2012 13:14:35 +0000 (14:14 +0100)]
Tighten up on type validity checking
Fixes Trac #5957, which pointed out that
Int -> Ord a => a -> a
is not Haskell 98
Paolo Capriotti [Wed, 4 Apr 2012 12:38:07 +0000 (13:38 +0100)]
Update comments about Addr in foreign declarations.
Paolo Capriotti [Tue, 3 Apr 2012 09:41:52 +0000 (10:41 +0100)]
Improved checks for "dynamic" and "wrapper" foreign declarations (#5664)
Dimitrios.Vytiniotis [Wed, 4 Apr 2012 11:54:11 +0000 (12:54 +0100)]
Wibble: using original type for the dictionary if it has not changed (to preserve synonyms)
Dimitrios.Vytiniotis [Wed, 4 Apr 2012 11:52:39 +0000 (12:52 +0100)]
More informative tracing for ddump-cs-trace
Dimitrios.Vytiniotis [Tue, 3 Apr 2012 12:29:55 +0000 (13:29 +0100)]
When rewriting a flavor with rewriteCtFlavor, in the case of reflexivity,
avoid setting the flavor PredType to be the new PredType if the types exactly
match, so that in case of failure we report errors that do not have expanded
type synonyms.
Dimitrios.Vytiniotis [Tue, 3 Apr 2012 10:59:51 +0000 (11:59 +0100)]
Bugfix in emitKindConstraint (must not cache orig constraint as Solved!); added
short note to document an example.
Paolo Capriotti [Fri, 30 Mar 2012 11:30:28 +0000 (12:30 +0100)]
Prevent nested TH exceptions from bubbling up to the top level (#5976)
Dimitrios.Vytiniotis [Tue, 3 Apr 2012 09:48:47 +0000 (10:48 +0100)]
Commentary, following the relaxation of idempotence of the inert substitution.
Dimitrios.Vytiniotis [Mon, 2 Apr 2012 15:34:36 +0000 (16:34 +0100)]
Dropping the idempotence restriction on the inert substitution,
for efficiency. More documentation to follow.
Dimitrios.Vytiniotis [Mon, 2 Apr 2012 15:33:28 +0000 (16:33 +0100)]
Deleting more old commented code.
Paolo Capriotti [Mon, 2 Apr 2012 12:09:10 +0000 (13:09 +0100)]
Support qualified identifiers in quasi-quotes (#5555).
Mikhail Vorozhtsov [Mon, 2 Apr 2012 11:03:48 +0000 (18:03 +0700)]
Fixed typo in
b857c8ad which caused NewtypeD to be interpreted as DataD.
Signed-off-by: Paolo Capriotti <p.capriotti@gmail.com>
Dimitrios.Vytiniotis [Mon, 2 Apr 2012 09:38:36 +0000 (10:38 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
Ian Lynagh [Sun, 1 Apr 2012 10:55:56 +0000 (11:55 +0100)]
Whitespace only in main/Packages.lhs
Ian Lynagh [Sun, 1 Apr 2012 00:35:46 +0000 (01:35 +0100)]
Tidy up compiler/ghc.cabal.in
We now always have base4, and don't need a workaround for GHC 6.4.2.
Iavor S. Diatchki [Sat, 31 Mar 2012 19:47:25 +0000 (12:47 -0700)]
Add a section about promoted literals to the manual.
Iavor S. Diatchki [Sat, 31 Mar 2012 19:15:23 +0000 (12:15 -0700)]
Add an entry for -XExplicitNamespaces to the manual.
Iavor S. Diatchki [Sat, 31 Mar 2012 19:14:49 +0000 (12:14 -0700)]
Add some missing equations for type-literals.
Patrick Palka [Sat, 31 Mar 2012 03:03:23 +0000 (23:03 -0400)]
Respect package qualifier when validating imports in GHCi (#5979)
Signed-off-by: Paolo Capriotti <p.capriotti@gmail.com>
Dimitrios Vytiniotis [Fri, 30 Mar 2012 17:22:36 +0000 (19:22 +0200)]
Mostly commentary to follow up after discussions with SPJ on several open tickets.
Max Bolingbroke [Fri, 30 Mar 2012 16:21:45 +0000 (17:21 +0100)]
Attempt to detect loops through imported function RULEs
This is motivated by the fact that before this change marking e.g.
GHC.List.filter as INLINABLE caused the compiler to diverge when
you tried to make use of the function.
The response is to say that a RULE on an imported function introduces
a dependency edge between the FVs of its LHS and RHS for the purposes
of computing loop breakers. This will not perfectly prevent all those
potential inlinings that could cause the compiler to non-terminate,
but it works well enough for the particular case we are interested in.
Paolo Capriotti [Fri, 30 Mar 2012 14:46:30 +0000 (15:46 +0100)]
Update documentation of DatatypeContexts (#5964)
Dimitrios Vytiniotis [Fri, 30 Mar 2012 12:55:02 +0000 (14:55 +0200)]
A little tracing.
Simon Peyton Jones [Fri, 30 Mar 2012 12:33:51 +0000 (13:33 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 30 Mar 2012 11:48:34 +0000 (12:48 +0100)]
Don't do validity checking on types in Template Haskell type brackets
We might be in the "knot" of a type declaration: see Trac #5968.
Simon Peyton Jones [Fri, 30 Mar 2012 11:47:55 +0000 (12:47 +0100)]
A related group of changes that make lexically scoped type
variables work in Template Haskell
Triggered by fixing Trac #5968.
Simon Peyton Jones [Fri, 30 Mar 2012 11:43:45 +0000 (12:43 +0100)]
Don't crash if there's a malformed instance!
Fixes Trac #5951
Simon Peyton Jones [Fri, 30 Mar 2012 11:36:06 +0000 (12:36 +0100)]
White space only
Simon Peyton Jones [Fri, 30 Mar 2012 11:35:50 +0000 (12:35 +0100)]
Comments only
Ben Gamari [Wed, 12 Oct 2011 04:49:12 +0000 (00:49 -0400)]
Add linker support for ELF on ARM
Add support for ELF objects on ARM to the runtime linker. While the list of
relocation types in the "ELF for the ARM Architecture" specification spans four
pages, we thankfully only see a handful of these in the wild. Thus, at the
moment we only support the following .rel relocation types,
* R_ARM_ABS32
* R_ARM_TARGET1
* R_ARM_REL32
* R_ARM_CALL
* R_ARM_JUMP24
* R_ARM_MOVT_ABS
* R_ARM_MOVW_ABS_NC
* R_ARM_THM_CALL
* R_ARM_THM_JUMP24
* R_ARM_THM_MOVT_ABS
* R_ARM_THM_MOVW_ABS_NC
* R_ARM_THM_JUMP8
* R_ARM_THM_JUMP11
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
Dimitrios Vytiniotis [Thu, 29 Mar 2012 15:35:30 +0000 (17:35 +0200)]
Deleting A LOT of commented out code!
Dimitrios Vytiniotis [Thu, 29 Mar 2012 15:25:01 +0000 (17:25 +0200)]
Changing the orientation of a generated equality
Dimitrios Vytiniotis [Thu, 29 Mar 2012 11:25:59 +0000 (13:25 +0200)]
More informative commentary as to why we allow family interactions with inerts when simplEqsOnly is on.
Dimitrios Vytiniotis [Thu, 29 Mar 2012 11:14:42 +0000 (13:14 +0200)]
Started investigating how performance is affected and how intensively our caches are used.
Dimitrios Vytiniotis [Thu, 29 Mar 2012 10:00:19 +0000 (12:00 +0200)]
Add handling of LitTy. Still a TODO to deal properly with the forall case in there.
Dimitrios Vytiniotis [Thu, 29 Mar 2012 08:31:02 +0000 (10:31 +0200)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
Dimitrios Vytiniotis [Thu, 29 Mar 2012 08:22:21 +0000 (10:22 +0200)]
defaultKind the kind of one of the types when you create a higher-dimensional equality proof,
pretty much as we do for mkTcEqPred. Ugly and delicate but we have to rething the subkinding
story. For now I am doing the same thing as mkTcEqPred.
Dimitrios Vytiniotis [Thu, 29 Mar 2012 08:18:45 +0000 (10:18 +0200)]
Small bugfix (for indexed_types/should_compile/T2291.hs). Because our
inert sets do not tolerate more than a single constraint per family head
we have to allow family interactions /with the inerts/ (not with top-level)
when the context says simplEqsOnly.
Dimitrios Vytiniotis [Wed, 28 Mar 2012 22:21:17 +0000 (00:21 +0200)]
Bugfixes: (i) wrong evidence generetation when using cached solved family equation
(ii) evidence loops because of caching fixed
Dimitrios Vytiniotis [Wed, 28 Mar 2012 22:20:12 +0000 (00:20 +0200)]
Slightly more informal message when EvCast fails.
Simon Marlow [Wed, 28 Mar 2012 10:54:08 +0000 (11:54 +0100)]
threadStackOverflow: Tweak to stack chunk sizing
If the old stack is only half full, then the next chunk we allocate
will be twice as large, to accommodate large requests for stack. In
that case, make sure that the chunk we allocate is at least as large
as the usual chunk size - there's no point allocating a 2k chunk
(double the default initial chunk size of 1k) if in the normal case we
would allocate a 32k chunk.
Simon Marlow [Wed, 28 Mar 2012 10:45:39 +0000 (11:45 +0100)]
Fix a bug in threadStackOverflow() (maybe #5214)
If we overflow the current stack chunk and copy its entire contents
into the next stack chunk, we could end up with two UNDERFLOW_FRAMEs.
We had a special case to catch this in the case when the old stack
chunk was the last one (ending in STOP_FRAME), but it went wrong for
other chunks.
I found this bug while poking around in the core dump attached to
options and running the nofib suite: imaginary/wheel_sieve2 crashed
with +RTS -kc600 -kb300.
I don't know if this is the cause of all the symptoms reported in
Simon Peyton Jones [Wed, 28 Mar 2012 12:24:24 +0000 (13:24 +0100)]
Merge branch 'master' of darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 28 Mar 2012 08:57:57 +0000 (09:57 +0100)]
Make the LocalRdrEnv keep track of all the Names that are in scope
This allows us to give a sensible error message when a Template Haskell
splice generates an occurrence without a binding site.
Fixes Trac #5959 and #5971
Dimitrios Vytiniotis [Wed, 28 Mar 2012 08:56:29 +0000 (10:56 +0200)]
Merge branch 'master' of darcs.haskell.org/ghc into ghc-new-flavor
Simon Peyton Jones [Wed, 28 Mar 2012 08:56:14 +0000 (09:56 +0100)]
Add a crucial forkM on the superclass context of IfaceClass in tcIfaceDecl
The absence of this was causing a loop when typechecking an interface
where the superclass context mentioned an associated type
class C (T a) => D a where
data T a
Fixes Trac #5970
David Terei [Wed, 28 Mar 2012 07:50:21 +0000 (00:50 -0700)]
Don't document '-fregs-liveness' or '-fllvm-tbaa', both hidden flags
No reason user should turn them off, just want for ghc developer
debugging uses.
Dimitrios.Vytiniotis [Wed, 28 Mar 2012 07:41:09 +0000 (08:41 +0100)]
Midstream check-in on
(i) Replaced a lot of clunky and fragile EvVar handling code with
a more uniform ``flavor transformer'' API in the canonicalizer
and the interaction solver. Now EvVars are just fields inside
the CtFlavors.
(ii) Significantly simplified our caching story
This patch does not validate yet and more refactoring is on the way.
Simon Peyton Jones [Wed, 28 Mar 2012 06:02:23 +0000 (07:02 +0100)]
Remove Show instance for Forest
A Forest is just a list, and we have a Show instance for
lists already. We don't need a special Show instance for
Forests. If we change our minds we can add a newtype,
but I don't think it's worth it.
Fixes Trac #5960
Simon Peyton Jones [Tue, 27 Mar 2012 12:43:18 +0000 (13:43 +0100)]
Merge with HEAD
Jose Pedro Magalhaes [Tue, 27 Mar 2012 12:03:42 +0000 (14:03 +0200)]
Remove dead code
RdrHsSyn.extractGenericPatTyVars was a leftover from the
old generic classes.