i'm looking at the record type 
data TcPlugin = forall t . TcPlugin
  { init  :: TcM t
  , solve :: t -> [Ct] -> [Ct] -> TcS ([SolveResult], [Ct])
  , close :: t -> TcM ()
  }
it might be helpful to add a remark that 
data Ct = ... 
is defined in compiler/typechecker/TcRnTypes.lhs so folks who aren't already intimately familiar with the constraint solver machinery in GHC can get some wee hints about where to start digging around if they wanted to understand the implications of the proposal :) 

On Fri, Sep 12, 2014 at 12:41 PM, Adam Gundry <adam@well-typed.com> wrote:
Hi folks,

Those of you at HIW last week might have been subjected to my lightning
talk on plugins for the GHC type checker, which should allow us to
properly implement nifty features like units of measure or type-level
numbers without recompiling GHC. I've written up a wiki page summarising
the idea:

https://ghc.haskell.org/trac/ghc/wiki/Plugins/TypeChecker

Feedback is very welcome, particularly if (a) you have an interesting
use for this feature or (b) you think this is a terrible idea!

Thanks,

Adam


--
Adam Gundry, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users