BinderDavid pushed to branch wip/clc-proposal-442 at Glasgow Haskell Compiler / GHC
Commits:
-
8801a723
by David Binder at 2026-09-23T13:42:21+01:00
-
240fa032
by David Binder at 2026-09-23T14:00:21+01:00
-
e2b8ee4b
by David Binder at 2026-09-23T14:17:20+01:00
4 changed files:
- + changelog.d/clc-442
- testsuite/tests/typecheck/should_compile/T25180.stderr
- utils/haddock/html-test/ref/Bug923.html
- utils/haddock/html-test/ref/Instances.html
Changes:
| 1 | +section: base
|
|
| 2 | +mrs: !16718
|
|
| 3 | +synopsis:
|
|
| 4 | + Expose `data Unit` and `data TupleN` from `Data.Tuple` in `base`
|
|
| 5 | +description:
|
|
| 6 | + The data types `data Unit` and `data TupleN` (for N from 2 to 64) are now exported from
|
|
| 7 | + `Data.Tuple` in the `base` library instead of `Data.Tuple.Experimental` in `ghc-experimental`.
|
|
| 8 | + See `CLC proposal 442 <https://github.com/haskell/core-libraries-committee/issues/442>`_. |
| ... | ... | @@ -5,6 +5,9 @@ T25180.hs:12:8: warning: [GHC-88464] [-Wtyped-holes (in -Wdefault)] |
| 5 | 5 | Valid hole fits include
|
| 6 | 6 | tup0 :: () (bound at T25180.hs:12:1)
|
| 7 | 7 | () :: () (bound at <wired into compiler>)
|
| 8 | + () :: ()
|
|
| 9 | + (imported from ‘Data.Tuple’ at T25180.hs:6:1-17
|
|
| 10 | + (and originally defined in ‘GHC.Internal.Tuple’))
|
|
| 8 | 11 | mempty :: forall a. Monoid a => a
|
| 9 | 12 | with mempty @()
|
| 10 | 13 | (imported from ‘Prelude’
|
| ... | ... | @@ -60,6 +63,10 @@ T25180.hs:26:8: warning: [GHC-88464] [-Wtyped-holes (in -Wdefault)] |
| 60 | 63 | (,) :: forall a b. a -> b -> (a, b)
|
| 61 | 64 | with (,) @a @b
|
| 62 | 65 | (bound at <wired into compiler>)
|
| 66 | + (,) :: forall a b. a -> b -> (a, b)
|
|
| 67 | + with (,) @a @b
|
|
| 68 | + (imported from ‘Data.Tuple’ at T25180.hs:6:1-17
|
|
| 69 | + (and originally defined in ‘GHC.Internal.Tuple’))
|
|
| 63 | 70 | |
| 64 | 71 | T25180.hs:33:8: warning: [GHC-88464] [-Wtyped-holes (in -Wdefault)]
|
| 65 | 72 | • Found hole: _ :: a -> b -> c -> (a, b, c)
|
| ... | ... | @@ -75,6 +82,10 @@ T25180.hs:33:8: warning: [GHC-88464] [-Wtyped-holes (in -Wdefault)] |
| 75 | 82 | (,,) :: forall a b c. a -> b -> c -> (a, b, c)
|
| 76 | 83 | with (,,) @a @b @c
|
| 77 | 84 | (bound at <wired into compiler>)
|
| 85 | + (,,) :: forall a b c. a -> b -> c -> (a, b, c)
|
|
| 86 | + with (,,) @a @b @c
|
|
| 87 | + (imported from ‘Data.Tuple’ at T25180.hs:6:1-17
|
|
| 88 | + (and originally defined in ‘GHC.Internal.Tuple’))
|
|
| 78 | 89 | |
| 79 | 90 | T25180.hs:38:11: warning: [GHC-88464] [-Wtyped-holes (in -Wdefault)]
|
| 80 | 91 | • Found hole: _ :: (# #)
|
| ... | ... | @@ -76,7 +76,9 @@ |
| 76 | 76 | >forall</span
|
| 77 | 77 | > a. a -> <a href="#" title="Bug923"
|
| 78 | 78 | >T</a
|
| 79 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 79 | + > ('<a href="#" title="Data.Tuple"
|
|
| 80 | + >(,)</a
|
|
| 81 | + > a :: <a href="#" title="Data.Kind"
|
|
| 80 | 82 | >Type</a
|
| 81 | 83 | > -> (<a href="#" title="Data.Kind"
|
| 82 | 84 | >Type</a
|
| ... | ... | @@ -126,7 +128,9 @@ |
| 126 | 128 | >forall</span
|
| 127 | 129 | > a. a -> <a href="#" title="Bug923"
|
| 128 | 130 | >T</a
|
| 129 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 131 | + > ('<a href="#" title="Data.Tuple"
|
|
| 132 | + >(,)</a
|
|
| 133 | + > a :: <a href="#" title="Data.Kind"
|
|
| 130 | 134 | >Type</a
|
| 131 | 135 | > -> (<a href="#" title="Data.Kind"
|
| 132 | 136 | >Type</a
|
| ... | ... | @@ -156,7 +160,9 @@ |
| 156 | 160 | >Eq</a
|
| 157 | 161 | > (<a href="#" title="Bug923"
|
| 158 | 162 | >T</a
|
| 159 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 163 | + > ('<a href="#" title="Data.Tuple"
|
|
| 164 | + >(,)</a
|
|
| 165 | + > a :: <a href="#" title="Data.Kind"
|
|
| 160 | 166 | >Type</a
|
| 161 | 167 | > -> (<a href="#" title="Data.Kind"
|
| 162 | 168 | >Type</a
|
| ... | ... | @@ -188,7 +194,9 @@ |
| 188 | 194 | >(==)</a
|
| 189 | 195 | > :: <a href="#" title="Bug923"
|
| 190 | 196 | >T</a
|
| 191 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 197 | + > ('<a href="#" title="Data.Tuple"
|
|
| 198 | + >(,)</a
|
|
| 199 | + > a :: <a href="#" title="Data.Kind"
|
|
| 192 | 200 | >Type</a
|
| 193 | 201 | > -> (<a href="#" title="Data.Kind"
|
| 194 | 202 | >Type</a
|
| ... | ... | @@ -196,7 +204,9 @@ |
| 196 | 204 | >Type</a
|
| 197 | 205 | >)) -> <a href="#" title="Bug923"
|
| 198 | 206 | >T</a
|
| 199 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 207 | + > ('<a href="#" title="Data.Tuple"
|
|
| 208 | + >(,)</a
|
|
| 209 | + > a :: <a href="#" title="Data.Kind"
|
|
| 200 | 210 | >Type</a
|
| 201 | 211 | > -> (<a href="#" title="Data.Kind"
|
| 202 | 212 | >Type</a
|
| ... | ... | @@ -212,7 +222,9 @@ |
| 212 | 222 | >(/=)</a
|
| 213 | 223 | > :: <a href="#" title="Bug923"
|
| 214 | 224 | >T</a
|
| 215 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 225 | + > ('<a href="#" title="Data.Tuple"
|
|
| 226 | + >(,)</a
|
|
| 227 | + > a :: <a href="#" title="Data.Kind"
|
|
| 216 | 228 | >Type</a
|
| 217 | 229 | > -> (<a href="#" title="Data.Kind"
|
| 218 | 230 | >Type</a
|
| ... | ... | @@ -220,7 +232,9 @@ |
| 220 | 232 | >Type</a
|
| 221 | 233 | >)) -> <a href="#" title="Bug923"
|
| 222 | 234 | >T</a
|
| 223 | - > ('(,) a :: <a href="#" title="Data.Kind"
|
|
| 235 | + > ('<a href="#" title="Data.Tuple"
|
|
| 236 | + >(,)</a
|
|
| 237 | + > a :: <a href="#" title="Data.Kind"
|
|
| 224 | 238 | >Type</a
|
| 225 | 239 | > -> (<a href="#" title="Data.Kind"
|
| 226 | 240 | >Type</a
|
| ... | ... | @@ -450,7 +450,9 @@ |
| 450 | 450 | >)</span
|
| 451 | 451 | > => <a href="#" title="Instances"
|
| 452 | 452 | >Foo</a
|
| 453 | - > ((,) (f a))</span
|
|
| 453 | + > (<a href="#" title="Data.Tuple"
|
|
| 454 | + >(,)</a
|
|
| 455 | + > (f a))</span
|
|
| 454 | 456 | > <a href="#" class="selflink"
|
| 455 | 457 | >#</a
|
| 456 | 458 | ></td
|
| ... | ... | @@ -560,7 +562,9 @@ |
| 560 | 562 | ></span
|
| 561 | 563 | > <a href="#" title="Instances"
|
| 562 | 564 | >Foo</a
|
| 563 | - > ((,,) a a)</span
|
|
| 565 | + > (<a href="#" title="Data.Tuple"
|
|
| 566 | + >(,,)</a
|
|
| 567 | + > a a)</span
|
|
| 564 | 568 | > <a href="#" class="selflink"
|
| 565 | 569 | >#</a
|
| 566 | 570 | ></td
|
| ... | ... | @@ -1164,9 +1168,13 @@ |
| 1164 | 1168 | ></span
|
| 1165 | 1169 | > <a href="#" title="Instances"
|
| 1166 | 1170 | >Foo</a
|
| 1167 | - > ((,,) a b) => <a href="#" title="Instances"
|
|
| 1171 | + > (<a href="#" title="Data.Tuple"
|
|
| 1172 | + >(,,)</a
|
|
| 1173 | + > a b) => <a href="#" title="Instances"
|
|
| 1168 | 1174 | >Bar</a
|
| 1169 | - > ((,,) a b) (a, b, a)</span
|
|
| 1175 | + > (<a href="#" title="Data.Tuple"
|
|
| 1176 | + >(,,)</a
|
|
| 1177 | + > a b) (a, b, a)</span
|
|
| 1170 | 1178 | > <a href="#" class="selflink"
|
| 1171 | 1179 | >#</a
|
| 1172 | 1180 | ></td
|