[Git][ghc/ghc][ghc-9.8] 9 commits: base: Fix changelog formatting
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Thu Sep 28 16:00:46 UTC 2023
Ben Gamari pushed to branch ghc-9.8 at Glasgow Haskell Compiler / GHC
Commits:
f23eda82 by Ben Gamari at 2023-09-25T10:09:27-04:00
base: Fix changelog formatting
- - - - -
6a6fb5b5 by Ben Gamari at 2023-09-25T10:09:31-04:00
relnotes: Add a few notable points to the `base` section
- - - - -
bf9b8f09 by Ben Gamari at 2023-09-25T10:09:31-04:00
users-guide: Fix relnotes wibbles
Partially fixes #23988.
- - - - -
b34ccb2e by Ben Gamari at 2023-09-27T09:27:06-04:00
hadrian: Install LICENSE files in bindists
Fixes #23548.
- - - - -
63b6ef7d by Ben Gamari at 2023-09-27T09:29:57-04:00
Bump containers submodule
To 0.7.
- - - - -
3359e6b4 by Ben Gamari at 2023-09-27T11:59:45-04:00
Bump haddock submodule
Applying fix from #21984.
- - - - -
e23147f4 by Ben Gamari at 2023-09-27T11:59:45-04:00
users-guide: Refactor handling of :base-ref: et al.
(cherry picked from commit 8f82e99fda693326e55ae798e11f3896c875c966)
- - - - -
9c680ee5 by Ben Gamari at 2023-09-27T11:59:45-04:00
Bump nofib submodule
- - - - -
f7b3fcb3 by Ben Gamari at 2023-09-27T14:25:14-04:00
users-guide: Amend discussion of incoherent specialisation
Closing #23988.
- - - - -
11 changed files:
- configure.ac
- docs/users_guide/9.8.1-notes.rst
- docs/users_guide/ghc_config.py.in
- hadrian/bindist/Makefile
- hadrian/src/Rules/BinaryDist.hs
- hadrian/src/Rules/Generate.hs
- libraries/base/changelog.md
- libraries/containers
- − m4/library_version.m4
- nofib
- utils/haddock
Changes:
=====================================
configure.ac
=====================================
@@ -1159,20 +1159,6 @@ AC_SUBST(BUILD_MAN)
AC_SUBST(BUILD_SPHINX_HTML)
AC_SUBST(BUILD_SPHINX_PDF)
-dnl ** Determine library versions
-dnl The packages below should include all packages needed by
-dnl doc/users_guide/ghc_config.py.in.
-LIBRARY_VERSION(base)
-LIBRARY_VERSION(Cabal, Cabal/Cabal/Cabal.cabal)
-dnl template-haskell.cabal and ghc-prim.cabal are generated later
-dnl by Hadrian but the .in files already have the version
-LIBRARY_VERSION(template-haskell, template-haskell/template-haskell.cabal.in)
-LIBRARY_VERSION(array)
-LIBRARY_VERSION(ghc-prim, ghc-prim/ghc-prim.cabal.in)
-LIBRARY_VERSION(ghc-compact)
-LIBRARY_ghc_VERSION="$ProjectVersion"
-AC_SUBST(LIBRARY_ghc_VERSION)
-
if grep ' ' compiler/ghc.cabal.in 2>&1 >/dev/null; then
AC_MSG_ERROR([compiler/ghc.cabal.in contains tab characters; please remove them])
fi
=====================================
docs/users_guide/9.8.1-notes.rst
=====================================
@@ -85,7 +85,7 @@ Compiler
- Rewrite rules now support a limited form of higher order matching when a
pattern variable is applied to distinct locally bound variables, as proposed in
- `GHC Proposal #555 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0555-template-patterns.rst>`.
+ `GHC Proposal #555 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0555-template-patterns.rst>`_.
For example: ::
forall f. foo (\x -> f x)
@@ -100,9 +100,12 @@ Compiler
This is convenient for TH code generation, as you can now uniformly use record wildcards
regardless of number of fields.
-- Incoherent instance applications are no longer specialised. The previous implementation of
- specialisation resulted in nondeterministic instance resolution in certain cases, breaking
- the specification described in the documentation of the :pragma:`INCOHERENT` pragma. See :ghc-ticket:`22448` for further details.
+- Specialisation of incoherent instance applications can now be disabled with
+ :ghc-flag:`-fno-specialise-incoherents`. This is necessary as the current
+ specialisation implementation can result in in nondeterministic instance
+ resolution in certain cases, breaking the specification described in the
+ documentation of the :pragma:`INCOHERENT` pragma. See :ghc-ticket:`22448` for
+ further details.
- Fix a bug in TemplateHaskell evaluation causing excessive calls to ``setNumCapabilities`` when :ghc-flag:`-j[⟨n⟩]` is greater than :rts-flag:`-N`.
See :ghc-ticket:`23049`.
@@ -142,9 +145,9 @@ Compiler
Complementary support for this feature in ``cabal-install`` will come soon.
- GHC Proposal `#433
- <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-unsatisfiable.rst>`_
+ <https://github.com/ghc-proposals/ghc-proposals/blob/0c7667673fcb33ea8b38503e16f88de5b8b3d270/proposals/0433-unsatisfiable.rst>`_
has been implemented. This adds the class ``Unsatisfiable :: ErrorMessage -> Constraint``
- to the :base-ref:`GHC.TypeError` module. Constraints of the form ``Unsatisfiable msg``
+ to the :base-ref:`GHC.TypeError.` module. Constraints of the form ``Unsatisfiable msg``
provide a mechanism for custom type errors that reports the errors in a more
predictable behaviour than ``TypeError``, as these constraints are
handled purely during constraint solving.
@@ -229,8 +232,13 @@ Runtime system
``base`` library
~~~~~~~~~~~~~~~~
+Note that this is not an exhaustive list of changes in ``base``. See the
+``base`` changelog for full details.
+
+- Added ``{-# WARNING in "x-partial" #-}`` to ``Data.List.{head,tail}``.
- :base-ref:`Data.Tuple` now exports ``getSolo :: Solo a -> a``.
- Updated to `Unicode 15.1.0 <https://www.unicode.org/versions/Unicode15.1.0/>`_.
+- Fixed exponent overflow/underflow bugs in the ``Read`` instances for ``Float`` and ``Double`` (`CLC proposal #192 <https://github.com/haskell/core-libraries-committee/issues/192>`_)
``ghc-prim`` library
~~~~~~~~~~~~~~~~~~~~
=====================================
docs/users_guide/ghc_config.py.in
=====================================
@@ -18,14 +18,14 @@ libs_base_uri = '../libraries'
# N.B. If you add a package to this list be sure to also add a corresponding
# LIBRARY_VERSION macro call to configure.ac.
lib_versions = {
- 'base': '@LIBRARY_base_VERSION@',
- 'ghc-prim': '@LIBRARY_ghc_prim_VERSION@',
- 'template-haskell': '@LIBRARY_template_haskell_VERSION@',
- 'ghc-compact': '@LIBRARY_ghc_compact_VERSION@',
- 'ghc': '@LIBRARY_ghc_VERSION@',
- 'parallel': '@LIBRARY_parallel_VERSION@',
- 'Cabal': '@LIBRARY_Cabal_VERSION@',
- 'array': '@LIBRARY_array_VERSION@',
+ 'base': '@LIBRARY_base_UNIT_ID@',
+ 'ghc-prim': '@LIBRARY_ghc_prim_UNIT_ID@',
+ 'template-haskell': '@LIBRARY_template_haskell_UNIT_ID@',
+ 'ghc-compact': '@LIBRARY_ghc_compact_UNIT_ID@',
+ 'ghc': '@LIBRARY_ghc_UNIT_ID@',
+ 'parallel': '@LIBRARY_parallel_UNIT_ID@',
+ 'Cabal': '@LIBRARY_Cabal_UNIT_ID@',
+ 'array': '@LIBRARY_array_UNIT_ID@',
}
version = '@ProjectVersion@'
=====================================
hadrian/bindist/Makefile
=====================================
@@ -67,6 +67,7 @@ endif
install: install_bin install_lib
install: install_man install_docs update_package_db
+install: install_data
ActualBinsDir=${ghclibdir}/bin
ifeq "$(RelocatableBuild)" "YES"
@@ -199,6 +200,15 @@ install_docs:
$(INSTALL_SCRIPT) docs-utils/gen_contents_index "$(DESTDIR)$(docdir)/html/libraries/"; \
fi
+.PHONY: install_data
+install_data:
+ @echo "Copying data to $(DESTDIR)share"
+ $(INSTALL_DIR) "$(DESTDIR)$(datadir)"
+ cd share; $(FIND) . -type f -exec sh -c \
+ '$(INSTALL_DIR) "$(DESTDIR)$(datadir)/`dirname $$1`" && \
+ $(INSTALL_DATA) "$$1" "$(DESTDIR)$(datadir)/`dirname $$1`"' \
+ sh '{}' ';';
+
MAN_SECTION := 1
MAN_PAGES := manpage/ghc.1
=====================================
hadrian/src/Rules/BinaryDist.hs
=====================================
@@ -239,6 +239,12 @@ bindistRules = do
-- shipping it
removeFile (bindistFilesDir -/- mingwStamp)
+ -- Include LICENSE files and related data.
+ -- On Windows LICENSE files are in _build/lib/doc, which is
+ -- already included above.
+ unless windowsHost $ do
+ copyDirectory (ghcBuildDir -/- "share") bindistFilesDir
+
-- Include bash-completion script in binary distributions. We don't
-- currently install this but merely include it for the user's
-- reference. See #20802.
=====================================
hadrian/src/Rules/Generate.hs
=====================================
@@ -313,6 +313,13 @@ packageVersions = foldMap f [ base, ghcPrim, compiler, ghc, cabal, templateHaske
f pkg = interpolateVar var $ version <$> readPackageData pkg
where var = "LIBRARY_" <> pkgName pkg <> "_VERSION"
+packageUnitIds :: Interpolations
+packageUnitIds = foldMap f [ base, ghcPrim, compiler, ghc, cabal, templateHaskell, ghcCompact, array ]
+ where
+ f :: Package -> Interpolations
+ f pkg = interpolateVar var $ pkgUnitId Stage1 pkg
+ where var = "LIBRARY_" <> pkgName pkg <> "_UNIT_ID"
+
templateRule :: FilePath -> Interpolations -> Rules ()
templateRule outPath interps = do
outPath %> \_ -> do
@@ -339,6 +346,7 @@ templateRules = do
templateRule "libraries/template-haskell/template-haskell.cabal" $ projectVersion
templateRule "libraries/prologue.txt" $ packageVersions
templateRule "docs/index.html" $ packageVersions
+ templateRule "doc/users_guide/ghc_config.py" $ packageUnitIds
-- Generators
=====================================
libraries/base/changelog.md
=====================================
@@ -10,7 +10,7 @@
* Add `Data.List.!?` ([CLC proposal #110](https://github.com/haskell/core-libraries-committee/issues/110))
* `maximumBy`/`minimumBy` are now marked as `INLINE` improving performance for unpackable
types significantly.
- * Add INLINABLE pragmas to `generic*` functions in Data.OldList ([CLC proposal #129](https://github.com/haskell/core-libraries-committee/issues/130))
+ * Add `INLINABLE` pragmas to `generic*` functions in Data.OldList ([CLC proposal #129](https://github.com/haskell/core-libraries-committee/issues/130))
* Export `getSolo` from `Data.Tuple`.
([CLC proposal #113](https://github.com/haskell/core-libraries-committee/issues/113))
* Add `Type.Reflection.decTypeRep`, `Data.Typeable.decT` and `Data.Typeable.hdecT` equality decisions functions.
@@ -26,12 +26,12 @@
* Add `COMPLETE` pragmas to the `TypeRep`, `SSymbol`, `SChar`, and `SNat` pattern synonyms.
([CLC proposal #149](https://github.com/haskell/core-libraries-committee/issues/149))
* Make `($)` representation polymorphic ([CLC proposal #132](https://github.com/haskell/core-libraries-committee/issues/132))
+ * Make `(&)` representation polymorphic in the return type ([CLC proposal #158](https://github.com/haskell/core-libraries-committee/issues/158))
* Implemented [GHC Proposal #433](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-unsatisfiable.rst),
adding the class `Unsatisfiable :: ErrorMessage -> TypeError` to `GHC.TypeError`,
which provides a mechanism for custom type errors that reports the errors in
a more predictable behaviour than `TypeError`.
* Add more instances for `Compose`: `Enum`, `Bounded`, `Num`, `Real`, `Integral` ([CLC proposal #160](https://github.com/haskell/core-libraries-committee/issues/160))
- * Make `(&)` representation polymorphic in the return type ([CLC proposal #158](https://github.com/haskell/core-libraries-committee/issues/158))
* Implement `GHC.IORef.atomicSwapIORef` via a new dedicated primop `atomicSwapMutVar#` ([CLC proposal #139](https://github.com/haskell/core-libraries-committee/issues/139))
* Change codebuffers to use an unboxed implementation, while providing a compatibility layer using pattern synonyms. ([CLC proposal #134](https://github.com/haskell/core-libraries-committee/issues/134))
* Add nominal role annotations to SNat/SSymbol/SChar ([CLC proposal #170](https://github.com/haskell/core-libraries-committee/issues/170))
@@ -40,7 +40,7 @@
* Deprecate `Data.List.NonEmpty.unzip` ([CLC proposal #86](https://github.com/haskell/core-libraries-committee/issues/86))
* Fixed exponent overflow/underflow bugs in the `Read` instances for `Float` and `Double` ([CLC proposal #192](https://github.com/haskell/core-libraries-committee/issues/192))
* Implement `copyBytes`, `fillBytes`, `moveBytes` and `stimes` for `Data.Array.Byte.ByteArray` using primops ([CLC proposal #188](https://github.com/haskell/core-libraries-committee/issues/188))
- * Add rewrite rules for conversion between Int64/Word64 and Float/Double on 64-bit architectures ([CLC proposal #203](https://github.com/haskell/core-libraries-committee/issues/203)).
+ * Add rewrite rules for conversion between `Int64`/`Word64` and `Float`/`Double` on 64-bit architectures ([CLC proposal #203](https://github.com/haskell/core-libraries-committee/issues/203)).
## 4.18.0.0 *March 2023*
=====================================
libraries/containers
=====================================
@@ -1 +1 @@
-Subproject commit f61b0c9104a3c436361f56a0974c5eeef40c1b89
+Subproject commit f5d0b13251291c3bd1ae396f3e6c8b0b9eaf58b0
=====================================
m4/library_version.m4 deleted
=====================================
@@ -1,10 +0,0 @@
-# LIBRARY_VERSION(lib, [cabal_file])
-# --------------------------------
-# Gets the version number of a library.
-# If $1 is ghc-prim, then we define LIBRARY_ghc_prim_VERSION as 1.2.3
-# $2 points to the directory under libraries/
-AC_DEFUN([LIBRARY_VERSION],[
-cabal_file=m4_default([$2],[$1/$1.cabal])
-LIBRARY_[]translit([$1], [-], [_])[]_VERSION=`grep -i "^version:" libraries/${cabal_file} | sed "s/.* //"`
-AC_SUBST(LIBRARY_[]translit([$1], [-], [_])[]_VERSION)
-])
=====================================
nofib
=====================================
@@ -1 +1 @@
-Subproject commit 274cc3f7479431e3a52c78840b3daee887e0414f
+Subproject commit d36b59581c6c4cb54bfe0e0fef2db869b7a3e759
=====================================
utils/haddock
=====================================
@@ -1 +1 @@
-Subproject commit 86d5fce5e5f24b6d244c827f7d1f2b49253dbf38
+Subproject commit fd959b46d61b8cf8afb1bb8a46bb9b5d44a509b3
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/092332676022a4b31dcb8a7da596e47cff3147e4...f7b3fcb3da218d00bd0afe468edc43b4951f5c3f
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/092332676022a4b31dcb8a7da596e47cff3147e4...f7b3fcb3da218d00bd0afe468edc43b4951f5c3f
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/20230928/1025b152/attachment-0001.html>
More information about the ghc-commits
mailing list