Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Simon Peyton Jones's avatar
    0c4a0c3b
    Make CallStacks work better with RebindableSyntax · 0c4a0c3b
    Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
    As #19918 pointed out, the CallStack mechanism didn't work well with
    RebindableSyntax.
    
    This patch improves matters.  See GHC.Tc.Types.Evidence
         Note [Overview of implicit CallStacks]
    
    * New predicate isPushCallStackOrigin distinguishes when a CallStack
      constraint should be solved "directly" or by pushing an item on the
      stack.
    
    * The constructor EvCsPushCall now has a FastString, which can
      describe not only a function call site, but also things like
      "the literal 42" or "an if-then-else expression".
    
    * I also fixed #20126 thus:
         exprCtOrigin (HsIf {}) = IfThenElseOrigin
      (Previously it was "can't happen".)
    0c4a0c3b
    History
    Make CallStacks work better with RebindableSyntax
    Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
    As #19918 pointed out, the CallStack mechanism didn't work well with
    RebindableSyntax.
    
    This patch improves matters.  See GHC.Tc.Types.Evidence
         Note [Overview of implicit CallStacks]
    
    * New predicate isPushCallStackOrigin distinguishes when a CallStack
      constraint should be solved "directly" or by pushing an item on the
      stack.
    
    * The constructor EvCsPushCall now has a FastString, which can
      describe not only a function call site, but also things like
      "the literal 42" or "an if-then-else expression".
    
    * I also fixed #20126 thus:
         exprCtOrigin (HsIf {}) = IfThenElseOrigin
      (Previously it was "can't happen".)
Code owners
Assign users and groups as approvers for specific file changes. Learn more.