[Git][ghc/ghc][wip/ipe-sharing] base: Do not expose whereFrom# from GHC.Exts
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Fri Mar 8 15:57:01 UTC 2024
Ben Gamari pushed to branch wip/ipe-sharing at Glasgow Haskell Compiler / GHC
Commits:
411f5289 by Ben Gamari at 2024-03-08T10:56:43-05:00
base: Do not expose whereFrom# from GHC.Exts
- - - - -
10 changed files:
- libraries/base/changelog.md
- libraries/base/src/GHC/Base.hs
- libraries/base/src/GHC/Exts.hs
- libraries/ghc-internal/src/GHC/Internal/Base.hs
- libraries/ghc-internal/src/GHC/Internal/Exts.hs
- libraries/ghc-internal/src/GHC/Internal/InfoProv/Types.hsc
- testsuite/tests/interface-stability/base-exports.stdout
- testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs
- testsuite/tests/interface-stability/base-exports.stdout-mingw32
- testsuite/tests/interface-stability/base-exports.stdout-ws-32
Changes:
=====================================
libraries/base/changelog.md
=====================================
@@ -46,6 +46,7 @@
matches a `data` or `data instance` declaration) with all of its
constructors in scope and the levity of `t` is statically known,
then the constraint `DataToTag t` can always be solved.
+ * `GHC.Exts` no longer exports the GHC-internal `whereFrom#` primop ([CLC proposal #214](https://github.com/haskell/core-libraries-committee/issues/214))
* `GHC.InfoProv.InfoProv` now provides a `ipUnitId :: String` field encoding the unit ID of the unit defining the info table ([CLC proposal #214](https://github.com/haskell/core-libraries-committee/issues/214))
([CLC proposal #104](https://github.com/haskell/core-libraries-committee/issues/104))
=====================================
libraries/base/src/GHC/Base.hs
=====================================
@@ -139,7 +139,12 @@ module GHC.Base
) where
import GHC.Internal.Base
-import GHC.Prim hiding (dataToTagLarge#, dataToTagSmall#)
+import GHC.Prim hiding (dataToTagLarge#, dataToTagSmall#, whereFrom#)
+ -- Hide dataToTagLarge# because it is expected to break for
+ -- GHC-internal reasons in the near future, and shouldn't
+ -- be exposed from base (not even GHC.Exts)
+ -- whereFrom# is similarly internal.
+
import GHC.Prim.Ext
import GHC.Prim.PtrEq
import GHC.Internal.Err
=====================================
libraries/base/src/GHC/Exts.hs
=====================================
@@ -111,10 +111,11 @@ module GHC.Exts
import GHC.Internal.Exts
import GHC.Internal.ArrayArray
-import GHC.Prim hiding ( coerce, dataToTagSmall#, dataToTagLarge# )
+import GHC.Prim hiding ( coerce, dataToTagSmall#, dataToTagLarge#, whereFrom# )
-- Hide dataToTag# ops because they are expected to break for
-- GHC-internal reasons in the near future, and shouldn't
-- be exposed from base (not even GHC.Exts)
+ -- whereFrom# is similarly internal.
import GHC.Prim.Ext
=====================================
libraries/ghc-internal/src/GHC/Internal/Base.hs
=====================================
@@ -315,7 +315,7 @@ import GHC.Classes hiding (
import GHC.CString
import GHC.Magic
import GHC.Magic.Dict
-import GHC.Prim hiding (dataToTagSmall#, dataToTagLarge#)
+import GHC.Prim hiding (dataToTagSmall#, dataToTagLarge#, whereFrom#)
-- Hide dataToTag# ops because they are expected to break for
-- GHC-internal reasons in the near future, and shouldn't
-- be exposed from base (not even GHC.Exts)
=====================================
libraries/ghc-internal/src/GHC/Internal/Exts.hs
=====================================
@@ -133,10 +133,11 @@ module GHC.Internal.Exts
maxTupleSize,
) where
-import GHC.Prim hiding ( coerce, dataToTagSmall#, dataToTagLarge# )
- -- Hide dataToTag# ops because they are expected to break for
+import GHC.Prim hiding ( coerce, dataToTagSmall#, dataToTagLarge#, whereFrom# )
+ -- Hide dataToTagLarge# because it is expected to break for
-- GHC-internal reasons in the near future, and shouldn't
-- be exposed from base (not even GHC.Exts)
+ -- whereFrom# is similarly internal.
import GHC.Types
hiding ( IO -- Exported from "GHC.IO"
=====================================
libraries/ghc-internal/src/GHC/Internal/InfoProv/Types.hsc
=====================================
@@ -29,6 +29,7 @@ import GHC.Internal.IO.Encoding (utf8)
import GHC.Internal.Foreign.Storable (peekByteOff)
import GHC.Internal.ClosureTypes
import GHC.Internal.Text.Read
+import GHC.Prim (whereFrom##)
data InfoProv = InfoProv {
ipName :: String,
=====================================
testsuite/tests/interface-stability/base-exports.stdout
=====================================
@@ -4755,7 +4755,6 @@ module GHC.Base where
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
when :: forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
@@ -6857,7 +6856,6 @@ module GHC.Exts where
void# :: (# #)
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
=====================================
testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs
=====================================
@@ -4755,7 +4755,6 @@ module GHC.Base where
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
when :: forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
@@ -6826,7 +6825,6 @@ module GHC.Exts where
void# :: (# #)
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
=====================================
testsuite/tests/interface-stability/base-exports.stdout-mingw32
=====================================
@@ -4758,7 +4758,6 @@ module GHC.Base where
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
when :: forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
@@ -7006,7 +7005,6 @@ module GHC.Exts where
void# :: (# #)
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
=====================================
testsuite/tests/interface-stability/base-exports.stdout-ws-32
=====================================
@@ -4755,7 +4755,6 @@ module GHC.Base where
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
when :: forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
@@ -6857,7 +6856,6 @@ module GHC.Exts where
void# :: (# #)
waitRead# :: forall d. Int# -> State# d -> State# d
waitWrite# :: forall d. Int# -> State# d -> State# d
- whereFrom# :: forall a d. a -> Addr# -> State# d -> (# State# d, Int# #)
word16ToInt16# :: Word16# -> Int16#
word16ToWord# :: Word16# -> Word#
word2Double# :: Word# -> Double#
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/411f5289da39b5a4aacd07ba7532c23c0347694a
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/411f5289da39b5a4aacd07ba7532c23c0347694a
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240308/42e71575/attachment-0001.html>
More information about the ghc-commits
mailing list