[commit: ghc] ghc-8.0: Hide the CallStack implicit parameter (ac90950)

git at git.haskell.org git at git.haskell.org
Tue Feb 2 09:47:24 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-8.0
Link       : http://ghc.haskell.org/trac/ghc/changeset/ac90950133bb421c73b801e44a46a15b82ee84ec/ghc

>---------------------------------------------------------------

commit ac90950133bb421c73b801e44a46a15b82ee84ec
Author: Eric Seidel <gridaphobe at gmail.com>
Date:   Mon Feb 1 14:32:19 2016 +0100

    Hide the CallStack implicit parameter
    
    The implicit parameter isn't actually very relevant to the CallStack
    machinery, so we hide the implementation details behind a constraint
    alias
    
    ```
    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
    
    (cherry picked from commit 94048f9fb01c541215cfc9cc215af83566b63236)


>---------------------------------------------------------------

ac90950133bb421c73b801e44a46a15b82ee84ec
 compiler/typecheck/TcEvidence.hs  |  25 ++---
 docs/users_guide/8.0.1-notes.rst  |  26 +++---
 docs/users_guide/ghci.rst         |   4 +-
 docs/users_guide/glasgow_exts.rst | 186 ++++++++++++++++++++++----------------
 libraries/base/GHC/Err.hs         |  21 +++--
 libraries/base/GHC/Exception.hs   |   6 +-
 libraries/base/GHC/Stack.hs       |  31 +++++--
 libraries/base/GHC/Stack/Types.hs |  93 +++++++++++++------
 testsuite/driver/testlib.py       |   6 +-
 9 files changed, 245 insertions(+), 153 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc ac90950133bb421c73b801e44a46a15b82ee84ec


More information about the ghc-commits mailing list