• Eric Seidel's avatar
    Hide the CallStack implicit parameter · 94048f9f
    Eric Seidel authored
    The implicit parameter isn't actually very relevant to the CallStack
    machinery, so we hide the implementation details behind a constraint
    type HasCallStack = (?callStack :: CallStack)
    This has a few benefits:
    1. No need to enable `ImplicitParams` in user code.
    2. No need to remember the `?callStack` naming convention.
    3. Gives us the option to change the implementation details in the
    future with less user-land breakage.
    The revised `CallStack` API is exported from `GHC.Stack` and makes no
    mention of the implicit parameter.
    Test Plan: ./validate
    Reviewers: simonpj, austin, hvr, bgamari
    Reviewed By: simonpj, bgamari
    Subscribers: thomie
    Projects: #ghc
    Differential Revision: https://phabricator.haskell.org/D1818
testlib.py 77.4 KB