Commits

Show all
Author Commit Message Labels Comments Date
Max Bolingbroke
Move exprIsConApp_maybe to CoreSubst so we can use it in VSO. Fix VSO bug with unlifted let bindings.
Simon Peyton Jones
Comments, and rename FactTuple to ConstraintTuple
Simon Peyton Jones
Nuke isCertainlyPredReprTy
Simon Peyton Jones
Comments and layout
Simon Peyton Jones
Add Constraint as a legitmiate tycon in Kinds
Simon Peyton Jones
ConstraintKind -> ConstraintKinds
Simon Peyton Jones
Minor refactoring of dsLCoercion, plus comments
Max Bolingbroke
Implement -XConstraintKind Basically as documented in http://hackage.haskell.org/trac/ghc/wiki/KindFact, this patch adds a new kind Constraint such that: Show :: * -> Constraint (?x::Int) :: Constraint (Int ~ a) :: Constraint And you can write *any* type with kind Constraint to the left of (=>): even if that type is a type synonym, type variable, indexed type or so on. The following (somewhat related) changes are a…
Max Bolingbroke
Remove the "Ghastly special case" from dataTcOccs This special case was introduced in 228c4743 to 'Fix problem with :i for (:)' but the associated Note doesn't explain why (:) deserves this treatment but not e.g. Left and Right. Removing the special case does not break anything (including :i (:)) so I guess this is no longer necessary. Conflicts: compiler/rename/RnEnv.lhs
Max Bolingbroke
Zap demand information if the simplifier reduces the arity: fixes CoreLint failure
Max Bolingbroke
Fix handing of CoVars in SetLevels: it wasn't renaming occurrences of case-bound coercion variabes Conflicts: compiler/simplCore/SetLevels.lhs
Max Bolingbroke
There are no predicate kinds in external core: remove Keq
Max Bolingbroke
Remove bogus isCoercionKind function and its sole use
Erik de Castro Lopo
Add missing import (fixes #5460).
nomeata
Add s390x to list of supported architectures
simonmar
fix GhcUnregisterised default, and add kfreebsdgnu to OsSupportsGhci (#5441)
simonmar
fix the eager-blackholing check, which I inadvertently broke in 1c2f89535394958f75cfb15c8c5e0433a20953ed (symptom was broken biographical profiling, see #5451).
Simon Peyton Jones
Minor wording change
Simon Peyton Jones
Fix Trac #5455: be a bit more selective in mkSelectorBinds See Note [mkSelectorBinds]
Simon Peyton Jones
Eliminate isHiBootTyCon in favour of isAbstractTyCon Fixes Trac #5456, which was a buglet arising from commit de9b85fa3fb6d4cd593366e1f2383cd0b492c056 Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Fri Sep 2 17:43:53 2011 +0100 Export a tiny bit more info with AbstractTyCon (fixes #5424) It only shows up when compiling with -O0!
Simon Peyton Jones
Link the de-synonym change to ticket Trac #5458
Simon Peyton Jones
Fix two bugs in caes-floating (fixes Trac #5453) The problem is documented in the ticket. The patch does two things 1. Make exprOkForSpeculation return False for a non-exhaustive case 2. In SetLevels.lvlExpr, look at the *result* scrutinee, not the *input* scrutinee, when testing for evaluated-ness
Simon Peyton Jones
Comments only
Simon Peyton Jones
De-synonym the types of the abtracted term variables in SpecConstr This was making Text.PrettyPrint.HughesPJ give a lint-bug when the libraries were compiled with -O2. It's all caused by phantom type synonyms (which are, generally speaking, a royal pain). The fix is simple, but a bit brutal. See Note [Free type variables of the qvar types].
Simon Peyton Jones
Export a tiny bit more info with AbstractTyCon (fixes #5424) When we compile -O0 we put type constructors in the interface file without their data constructors -- an AbstractTyCon. But in a client module, to give good pattern-match exhaustiveness warnings, we need to know the difference between a data type and a newtype. (The latter can be coerced to another type, but a data type can't.) See Note [Pruning dead case alternatives] in Unify. Because we weren…
Simon Peyton Jones
Backtrack on the wierd special case of data family exports I had second thoughts on the "data family export" question. Rather than add a wierd special case it seems better to be simple and consistent. So this patch * Reverts to the simple behaviour: module M where { ... } exports only what is defined in M, ie NOT any imported data families. See Note [Exports of data families] in RnNames * Documents this behaviour in the user manual, and …
Simon Peyton Jones
Merge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones
Some minor wibbling in printing source locations I found that an imported instance was getting printed with <no location info>. Fixing this pushed me into a bit more refactoring than I intended, but it's all small aesthetic stuff, nothing fundamental. Caused some error message to change as a result. I removed pprDefnLoc from the GHC API because it doesn't seem to be used. Name.pprNamedefnLoc and pprDefinedAt are probably more useful anyway.
Simon Peyton Jones
Two bugs in rnExports (fixes Trac #5445) When constructing export lists, data families pose an awkward problem, documented in Note [Exports of data families] in RnNames. Consider module M where import X( D ) data instance D Int = M1 | M2 Here M exports M1 and M2, obviously, but does it export D? It would not usually do so, but if we don't then no one can import M selectively like this: import …
Simon Peyton Jones
More debug info on provenance with -dppr-debug
  1. Prev
  2. Next