Separating typechecking and type error reporting in two passes?

Joachim Breitner mail at
Wed Nov 30 22:56:06 UTC 2016


Am Mittwoch, den 30.11.2016, 10:51 +0000 schrieb Simon Peyton Jones via ghc-devs:
> I very much doubt that you'll be able to discard the context
> information from the type checker. Maybe some of it.   I can't say
> exactly why, it's a gut feel for now.

the gut feeling is warranted: There are quite a few errors that are
raised directly by the type checker, and not expressed as a
WantedConstraint that can be deferred. Kind errors inside types, for

It might be an interesting exercise to try to make all errors
deferrable somehow. With some additions to the relevant types (HsType
etc.) this might work.

But until then, a second pass would have to *duplicate* all the
context-handling machinery, and that is surely not the way to go.

Punting this for now, for want of a better idea.


Joachim “nomeata” Breitner
  mail at joachim-breitner.de
  XMPP: nomeata at • OpenPGP-Key: 0xF0FBF51F
  Debian Developer: nomeata at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <>

More information about the ghc-devs mailing list