... | ... | @@ -10,14 +10,14 @@ This guide summarises the changes you may need to make to your code to migrate f |
|
|
### Inferred type-signatures now may require to enable `FlexibleContexts`, `GADTs`, or `TypeFamilies`
|
|
|
|
|
|
|
|
|
Basically GHC has become stricter and needs to explicitly enable language extensions in some cases that weren't needed previously. GHC will tell you which extension to enable. See also [\#8883](https://gitlab.haskell.org//ghc/ghc/issues/8883) for details.
|
|
|
Basically GHC has become stricter and needs to explicitly enable language extensions in some cases that weren't needed previously. GHC will tell you which extension to enable. See also [\#8883](https://gitlab.haskell.org/ghc/ghc/issues/8883) for details.
|
|
|
|
|
|
|
|
|
Example breakages:
|
|
|
|
|
|
- [ https://github.com/haskell/HTTP/issues/62](https://github.com/haskell/HTTP/issues/62)
|
|
|
- [ https://github.com/bos/attoparsec/issues/67](https://github.com/bos/attoparsec/issues/67)
|
|
|
- [ https://github.com/diagrams/force-layout/pull/1](https://github.com/diagrams/force-layout/pull/1)
|
|
|
- [https://github.com/haskell/HTTP/issues/62](https://github.com/haskell/HTTP/issues/62)
|
|
|
- [https://github.com/bos/attoparsec/issues/67](https://github.com/bos/attoparsec/issues/67)
|
|
|
- [https://github.com/diagrams/force-layout/pull/1](https://github.com/diagrams/force-layout/pull/1)
|
|
|
|
|
|
---
|
|
|
|
... | ... | @@ -78,7 +78,7 @@ Moreover, in order to avoid surprising performance issues with `Traversable`, `( |
|
|
See also [Proposal/MonadOfNoReturn](proposal/monad-of-no-return)
|
|
|
|
|
|
|
|
|
For more details see [ AMP Proposal: Future-proofing current code](https://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal#Future-proofing_current_code).
|
|
|
For more details see [AMP Proposal: Future-proofing current code](https://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal#Future-proofing_current_code).
|
|
|
|
|
|
#### GHC says `No instance for (Alternative ...)`
|
|
|
|
... | ... | @@ -242,7 +242,7 @@ instance NFData Foo where rnf x = seq x () |
|
|
instead of relying on the default method implementation.
|
|
|
|
|
|
|
|
|
For more details (and how to use the new facilities) see Haddock documentation of [ hackage:deepseq](http://hackage.haskell.org/package/deepseq)
|
|
|
For more details (and how to use the new facilities) see Haddock documentation of [hackage:deepseq](http://hackage.haskell.org/package/deepseq)
|
|
|
|
|
|
### `integer-gmp-1.0.0.0`
|
|
|
|
... | ... | @@ -275,7 +275,7 @@ data Integer |
|
|
Please note that the new representation is now **stricter regarding internal invariants** (note the if-and-only-ifs `iff`s in the comments above). For more details, see
|
|
|
|
|
|
- [wiki:Design/IntegerGmp2](design/integer-gmp2) and
|
|
|
- [ GHC.Integer.GMP.Internals's Haddock](http://hackage.haskell.org/package/integer-gmp-1.0.0.0/docs/GHC-Integer-GMP-Internals.html)
|
|
|
- [GHC.Integer.GMP.Internals's Haddock](http://hackage.haskell.org/package/integer-gmp-1.0.0.0/docs/GHC-Integer-GMP-Internals.html)
|
|
|
|
|
|
### `template-haskell-2.10.0.0`
|
|
|
|
... | ... | @@ -289,10 +289,10 @@ There are a number of API changes in this release of Template Haskell. |
|
|
### `time-1.5.0.1`
|
|
|
|
|
|
|
|
|
The major breaking change in [ hackage:time-1.5.0.1](http://hackage.haskell.org/package/time-1.5.0.1) is not requiring `old-locale` anymore and providing its own locale-type.
|
|
|
The major breaking change in [hackage:time-1.5.0.1](http://hackage.haskell.org/package/time-1.5.0.1) is not requiring `old-locale` anymore and providing its own locale-type.
|
|
|
|
|
|
|
|
|
See [ https://github.com/bos/aeson/commit/730a8c42b75f38e241da39933b03735a7c905538](https://github.com/bos/aeson/commit/730a8c42b75f38e241da39933b03735a7c905538) for an example how to make code compatible with both, `time < 1.5` and `time >= 1.5`, or use [ http://hackage.haskell.org/package/time-locale-compat](http://hackage.haskell.org/package/time-locale-compat).
|
|
|
See [https://github.com/bos/aeson/commit/730a8c42b75f38e241da39933b03735a7c905538](https://github.com/bos/aeson/commit/730a8c42b75f38e241da39933b03735a7c905538) for an example how to make code compatible with both, `time < 1.5` and `time >= 1.5`, or use [ http://hackage.haskell.org/package/time-locale-compat](http://hackage.haskell.org/package/time-locale-compat).
|
|
|
|
|
|
### `array-0.5.1.0`
|
|
|
|
... | ... | @@ -307,4 +307,4 @@ newtype N = MkN Word64 |
|
|
```
|
|
|
|
|
|
|
|
|
After [ https://ghc.haskell.org/trac/ghc/ticket/9220](https://ghc.haskell.org/trac/ghc/ticket/9220) changed the UArray role to nominal, one has to manually create instances (see [ http://stackoverflow.com/a/40988667/69663](http://stackoverflow.com/a/40988667/69663) for an example). |
|
|
After [https://ghc.haskell.org/trac/ghc/ticket/9220](https://ghc.haskell.org/trac/ghc/ticket/9220) changed the UArray role to nominal, one has to manually create instances (see [ http://stackoverflow.com/a/40988667/69663](http://stackoverflow.com/a/40988667/69663) for an example). |