[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