diff options
| author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-09-10 10:01:51 +0100 |
|---|---|---|
| committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-09-17 13:45:42 +0100 |
| commit | d30b9cf45793c9e674463c86345931cbae345e7a (patch) | |
| tree | 70ebb623cf086c9f4f1026b1996009aa6078e224 /compiler/utils/md5.h | |
| parent | 0683258393f8eb3046c08cdb88868fa1467e6fd2 (diff) | |
| download | haskell-d30b9cf45793c9e674463c86345931cbae345e7a.tar.gz | |
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 TcErrors
* Get rid of cec_extra
* Traverse every constraint, so that we can be
sure to generate bindings where necessary.
(This was really a lurking bug before.)
3. Merge zonking into TcCanonical. This turned out to be
almost trivial; just a small change to TcCanonical.flattenTyVar.
The nice consequence is that we don't need to zonk a constraint
before solving it; instead it gets zonked "on the fly" as it were.
Diffstat (limited to 'compiler/utils/md5.h')
0 files changed, 0 insertions, 0 deletions
