• Simon Peyton Jones's avatar
    Simplify AbsBinds wrapping · c6485d5e
    Simon Peyton Jones authored
    In poking Trac #11414 I found myself sinking into the abe_inst_wrap
    swamp.  What is this strange thing?  (It turned out that #11414 was
    breaking because of it.)
    
    Thrillingly, I found a way to sweep it away again, putting the deep
    instantation into tcMonoBinds instead of mkExport; and it turned out
    that the fun_co_fn field of FunBind was already there ready to receive
    exactly this wrapper. Hooray.  Result
    
    * Death to abe_inst_wrap
    * Death to mbi_orig
    * Death to the plumbing in tcPolyInfer that did the
      deep instantiation
    
    I did find that I had to re-engineer the treatment of instance type
    signatures (again), but the result looks more modular and robust to
    me.
    
    And #11414 is fixed.
    c6485d5e
DsBinds.hs 48.6 KB