diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2016-03-24 11:39:59 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-03-24 12:29:42 +0100 |
commit | 371608f1cdaf20c49eb6c5ec165b9eb08b745a89 (patch) | |
tree | 65cd080f700448034e4206223852ae1a201a86fb /docs/users_guide/using.rst | |
parent | 1448f8ab2379452312f1f74f6d5ba4de8ad3d47e (diff) | |
download | haskell-371608f1cdaf20c49eb6c5ec165b9eb08b745a89.tar.gz |
Default RuntimeRep variables unless -fprint-explicit-runtime-reps
Summary:
Addresses #11549 by defaulting `RuntimeRep` variables to `PtrRepLifted`
and adding a new compiler flag `-fprint-explicit-runtime-reps` to
disable this behavior.
This is just a guess at the right way to go about this. If it's
wrong-beyond-any-hope just say so.
Test Plan: Working on a testcase
Reviewers: goldfire, austin
Subscribers: simonpj, thomie
Differential Revision: https://phabricator.haskell.org/D1961
GHC Trac Issues: #11549
Diffstat (limited to 'docs/users_guide/using.rst')
-rw-r--r-- | docs/users_guide/using.rst | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/users_guide/using.rst b/docs/users_guide/using.rst index bcd641fb28..3d3ef34d02 100644 --- a/docs/users_guide/using.rst +++ b/docs/users_guide/using.rst @@ -684,6 +684,22 @@ messages and in GHCi: ghci> :t MkT MkT :: forall (k :: BOX) (a :: k). T k a +.. ghc-flag:: -fprint-explicit-runtime-reps + + When :ghc-flag:`-fprint-explicit-runtime-reps` is enabled, GHC prints + ``RuntimeRep`` type variables for runtime-representation-polymorphic types. + Otherwise GHC will default these to ``PtrRepLifted``. For example, + + .. code-block:: none + + ghci> :t ($) + ($) :: (a -> b) -> a -> b + ghci> :set -fprint-explicit-runtime-reps + ghci> :t ($) + ($) + :: forall (r :: GHC.Types.RuntimeRep) a (b :: TYPE r). + (a -> b) -> a -> b + .. ghc-flag:: -fprint-explicit-coercions Using :ghc-flag:`-fprint-explicit-coercions` makes GHC print coercions in |