Commits

Show all
Author Commit Message Labels Comments Date
Simon Peyton Jones
Make a start towards eta-rules and injective families * Make Any into a type family (which it should always have been) This is to support the future introduction of eta rules for product types (see email on ghc-users title "PolyKind issue" early Sept 2012) * Add the *internal* data type support for (a) closed type families [so that you can't give type instance for 'Any'] (b) injective type families [because Any is really …
Branches
type-holes-branch
Simon Peyton Jones
Implement 'left' and 'right' coercions This patch finally adds 'left' and 'right' coercions back into GHC. Trac #7205 gives the details. The main change is to add a new constructor to Coercion: data Coercion = ... | NthCo Int Coercion -- OLD, still there | LRCo LeftOrRight Coercion -- NEW data LeftOrRight = CLeft | CRight Plus: * Similar change to TcCoercion * Use LRCo when decomposing AppTys…
Branches
type-holes-branch
Simon Peyton Jones
Tidy up and simplify simplifyRule, pls adding some other comments
Branches
type-holes-branch
Simon Peyton Jones
Tidy up and simplify TcMType.zonkFlats (discussion between DV and SLPJ)
Branches
type-holes-branch
Simon Peyton Jones
Remove cc_ty from CIrredCan and cc_hole_ty from CHoleCan A simple refactoring with no complicated fiddling.
Branches
type-holes-branch
Simon Peyton Jones
Another refactoring of constraints 1. Rejig CtLoc * CtLoc is now *not* parameterised (much simpler) * CtLoc includes the "depth" of the constraint * CtLoc includes the TcLclEnv at the birthplace That gives (a) the SrcSpan, (b) the [ErrCtxt] (c) the [TcIdBinder] * The CtLoc of a constraint is no longer in its CtEvidence * Where we passed 'depth' before, now we pass CtLoc 2. Some significant refactoring in T…
Branches
type-holes-branch
Simon Peyton Jones
Name the extension -XTypeHoles rather than -XHoles
Branches
type-holes-branch
Simon Peyton Jones
Merge remote branch 'laptop-HEAD/tc-untouchables' into type-holes-branch And a few more changes in TcErrors Conflicts: compiler/typecheck/TcErrors.lhs compiler/typecheck/TcMType.lhs compiler/typecheck/TcSimplify.lhs
Branches
type-holes-branch
Simon Peyton Jones
Merge branch 'tc-untouchables' of ../HEAD into type-holes-branch Plus lots more refactoring Conflicts: compiler/typecheck/TcSMonad.lhs compiler/typecheck/TcSimplify.lhs
Branches
type-holes-branch
Simon Peyton Jones
Merge branch 'tc-untouchables' of http://darcs.haskell.org/ghc into tc-untouchables
Branches
type-holes-branch
Simon Peyton Jones
Add comments about how untouchables work See Note [Untouchable type variables] in TcType
Branches
type-holes-branch
Dimitrios Vytiniotis
Moved solving of type families to zonkWC and a few simplifications in TcSimplify. Now unflattening does not happen recursively inside solveWanteds which should be a good performance win.
Simon Peyton Jones
Merge remote branch 'laptop-HEAD/tc-untouchables' into type-holes-branch Plus more refactoring for holes Conflicts: compiler/typecheck/TcSimplify.lhs
Branches
type-holes-branch
Simon Peyton Jones
Some refactoring; removes simplifyCheck
Simon Peyton Jones
When defaulting, check for *meta* tyvars I'd forgotten that we can have runtime skolems (TcTyVarDetails = RuntimeUnk), and we definitely don't want to attempt to default them!
Simon Peyton Jones
Make kickOutRewritable kick out insolubles It always used to do so, but I removed it because I didn't see why. Now I unsderstand why, and wrote Note [Kick out insolubles]
Simon Peyton Jones
Move inert_insols into the InertCans record We might want to rename the type, but inert_insols really belongs with these other constraints.
Simon Peyton Jones
Remove historical Unique parameter from pushUntouchables
Simon Peyton Jones
Comments only
Simon Peyton Jones
Some comments and false starts to do with ArrForm There's a very very wrong piece of code in TcArrows; and it is even triggering an ASERT failure now. I need to talk to Ross to figure out what is going on.
Simon Peyton Jones
Merge remote branch 'laptop-HEAD/tc-untouchables' into type-holes-branch Conflicts: compiler/typecheck/Inst.lhs compiler/typecheck/TcErrors.lhs compiler/typecheck/TcInteract.lhs compiler/typecheck/TcRnDriver.lhs compiler/typecheck/TcSMonad.lhs compiler/typecheck/TcSimplify.lhs
Branches
type-holes-branch
Simon Peyton Jones
Do not do escapeArrowScope when typechecking arrows The purpose of escapeArrowScope is to get the scopes right for arrows, and that is done in the renamer. Doing it in the typechecker as well messed up the level numbering for unification variables, triggering the ASSRET in isTouchableMetaTyVar.
Branches
type-holes-branch
Simon Peyton Jones
Wibbles to fe6ddf00, fixing infelicities
Simon Peyton Jones
Merge branch 'tc-untouchables', remote branch 'origin' into tc-untouchables
Simon Peyton Jones
extractRelevant should not see a CHoleCan
Branches
type-holes-branch
Simon Peyton Jones
A bunch more simplification and refactoring to the constraint solver * Instead of Untouchables being a [Unique], it is simply an Int indicating the depth of nesting. This works fine now that floatEqualities is promoting the floated unification variables to the outer level * Remove the inert_tv_eqs (InScopeSet) from InertCans. It wasn't being used. See Note [Shadowing in a constraint] in TcRnTypes * Rename inert_frozen to inert_insols * Some simple ref…
Simon Peyton Jones
More simplifications to the constraint solver * inert_solved becomes dictionaries-only, inert_solved_dicts * inert_solved_dicts is used only to cache the result of uses of a top level instance declaration, just like inert_solved_funeqs * That in turn simplifies xCtFlavor and rewriteCtFlavor, because they no longer need a "should I cache" parameter. (Moreover the settings for this parameter were very subtle; it's easy to get loops i…
Thijs Alkemade
Fix typo after merge.
Branches
type-holes-branch
Thijs Alkemade
Merge branch 'master' of https://github.com/ghc/ghc
Branches
type-holes-branch
Thijs Alkemade
Fix the construction of the constraint, so it gets the right [ErrCtxt], and so it can be properly located. Like: In an expression: ... In an equation for ...
Branches
type-holes-branch
  1. Prev
  2. Next