-
Notifications
You must be signed in to change notification settings - Fork 64
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into koz/monad-cont
- Loading branch information
Showing
4 changed files
with
49 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,7 @@ jobs: | |
strategy: | ||
matrix: | ||
os: [ubuntu-latest, macos-latest, windows-latest] | ||
ghc: ['8.6', '8.8', '8.10', '9.0', '9.2'] | ||
ghc: ['8.6', '8.8', '8.10', '9.0', '9.2', '9.4.1'] | ||
steps: | ||
- name: Checkout base repo | ||
uses: actions/[email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Migrating to `mtl-2.3.x` | ||
|
||
In `mtl-2.3.x`, [re-exports were removed](https://github.com/haskell/mtl/pull/108) from the library in order to achieve PVP compliance, as well as disentangle some historical warts in its design. This was a breaking change that maintainers decided was in the `mtl`'s best interest due to the re-exports overlapping with `base`, as well as generally being confusing and outdated for modern GHC versions. While all changes were detailed in the changelog, navigating the removal of re-exports can be tricky. Below is a detailed review of what needs to be done to use the new `mtl`. | ||
|
||
## Removed re-exports | ||
|
||
The following `base`-specific re-exports were cut from many modules: | ||
|
||
- `Control.Monad` | ||
- `Control.Monad.Fix` | ||
- `Data.Monoid` | ||
|
||
In `mtl-2.3`, the following export was erroneously removed from `mtl`-specific modules: | ||
|
||
- `ExceptT` and related functions from `Control.Monad.Except` | ||
|
||
## What do I need to do? | ||
|
||
First, update your `*.cabal` file to point to the new `mtl-2.3.1` release (currently on Hackage), or add the following to your `cabal.project`: | ||
|
||
|
||
``` | ||
packages: . | ||
source-repository-package | ||
type: git | ||
location: https://github.com/haskell/mtl | ||
tag: 2.3.1 | ||
allow-newer: | ||
*:mtl | ||
``` | ||
|
||
Now, if upon recompile you see anything to the effect that particular functions from any of the above re-exports are missing, then you'll need to import the modules explicitly in order to expose the functions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,8 +4,8 @@ version: 2.3.1 | |
license: BSD-3-Clause | ||
license-file: LICENSE | ||
author: Andy Gill | ||
maintainer: chessai <[email protected]>, | ||
Emily Pillmore <[email protected]>, | ||
maintainer: chessai <[email protected]>, | ||
Emily Pillmore <[email protected]>, | ||
Koz Ross <[email protected]> | ||
category: Control | ||
synopsis: Monad classes for transformers, using functional dependencies | ||
|
@@ -18,11 +18,11 @@ description: | |
|
||
build-type: Simple | ||
|
||
extra-source-files: | ||
extra-source-files: | ||
CHANGELOG.markdown | ||
README.markdown | ||
|
||
tested-with: GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.2 | ||
tested-with: GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.1 | ||
|
||
source-repository head | ||
type: git | ||
|
@@ -54,15 +54,14 @@ Library | |
Control.Monad.Writer.Strict | ||
Control.Monad.Accum | ||
Control.Monad.Select | ||
build-depends: | ||
|
||
build-depends: | ||
, base >=4.12 && < 5 | ||
, transformers >= 0.5.6 && <0.7 | ||
|
||
ghc-options: | ||
ghc-options: | ||
-Wall -Wcompat -Wincomplete-record-updates | ||
-Wincomplete-uni-patterns -Wredundant-constraints | ||
-Wmissing-export-lists | ||
|
||
default-language: Haskell2010 | ||
|