[Git][ghc/ghc][wip/exception-context] 7 commits: Introduce exception context

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Mon Mar 4 22:55:42 UTC 2024



Ben Gamari pushed to branch wip/exception-context at Glasgow Haskell Compiler / GHC


Commits:
9440575f by Ben Gamari at 2024-03-04T17:55:25-05:00
Introduce exception context

Here we introduce the `ExceptionContext` type and `ExceptionAnnotation`
class, allowing dynamically-typed user-defined annotations to be
attached to exceptions.

CLC Proposal: https://github.com/haskell/core-libraries-committee/issues/199
GHC Proposal: https://github.com/ghc-proposals/ghc-proposals/pull/330

- - - - -
54084c37 by Ben Gamari at 2024-03-04T17:55:27-05:00
testsuite/interface-stability: Update documentation

- - - - -
4c52e827 by Ben Gamari at 2024-03-04T17:55:27-05:00
ghc-internal: comment formatting

- - - - -
404a69cc by Ben Gamari at 2024-03-04T17:55:27-05:00
compiler: Default and warn ExceptionContext constraints

- - - - -
1843a15d by Ben Gamari at 2024-03-04T17:55:32-05:00
base: Introduce exception backtraces

Here we introduce the `Backtraces` type and associated machinery for
attaching these via `ExceptionContext`. These has a few compile-time
regressions (`T15703` and `T9872d`) due to the additional dependencies
in the exception machinery.

As well, there is a surprisingly large regression in the
`size_hello_artifact` test. This appears to be due to various `Integer` and
`Read` bits now being reachable at link-time. I believe it should be
possible to avoid this but I have accepted the change for now to get the
feature merged.

CLC Proposal: https://github.com/haskell/core-libraries-committee/issues/199
GHC Proposal: https://github.com/ghc-proposals/ghc-proposals/pull/330

Metric Increase:
    T15703
    T9872d
    size_hello_artifact

- - - - -
5c5c2dbf by Ben Gamari at 2024-03-04T17:55:36-05:00
users guide: Release notes for exception backtrace work

- - - - -
953f0e50 by Ben Gamari at 2024-03-04T17:55:36-05:00
ghc-experimental: Add dummy dependencies to work around #24436

This is a temporary measure to improve CI reliability until a proper
solution is developed.

- - - - -


30 changed files:

- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Core/Predicate.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Types/Error/Codes.hs
- docs/users_guide/9.8.1-notes.rst
- docs/users_guide/using-warnings.rst
- libraries/array
- libraries/base/base.cabal
- libraries/base/changelog.md
- libraries/base/src/Control/Exception.hs
- + libraries/base/src/Control/Exception/Annotation.hs
- + libraries/base/src/Control/Exception/Backtrace.hs
- + libraries/base/src/Control/Exception/Context.hs
- libraries/base/tests/IO/T21336/T21336a.stderr
- libraries/base/tests/IO/T21336/T21336b.stderr
- libraries/base/tests/IO/T4808.stderr
- libraries/base/tests/IO/mkdirExists.stderr
- libraries/base/tests/IO/openFile002.stderr
- libraries/base/tests/IO/openFile002.stderr-mingw32
- libraries/base/tests/IO/withBinaryFile001.stderr
- libraries/base/tests/IO/withBinaryFile002.stderr
- libraries/base/tests/IO/withFile001.stderr
- libraries/base/tests/IO/withFile002.stderr
- libraries/base/tests/IO/withFileBlocking001.stderr
- libraries/base/tests/IO/withFileBlocking002.stderr
- libraries/base/tests/T15349.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/167ee1f8282bd4e5863cc8a8732f7c32a98d4386...953f0e509f9c7a96adce285bb70c45c8357a51d0

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/167ee1f8282bd4e5863cc8a8732f7c32a98d4386...953f0e509f9c7a96adce285bb70c45c8357a51d0
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/20240304/8680cde6/attachment.html>


More information about the ghc-commits mailing list