... | ... | @@ -72,7 +72,7 @@ Note that `Foo`, a GADT, is *not* reified as a `GadtC`, whereas `Bar`, which is |
|
|
|
|
|
|
|
|
|
|
|
In accordance with the changes to GADT constructor type variable order (mentioned [ above](https://ghc.haskell.org/trac/ghc/wiki/Migration/8.4#TypevariableorderinGADTconstructors)), reified GADT constructors also now track the order in which users wrote type variables. Continuing the earlier example:
|
|
|
In accordance with the changes to GADT constructor type variable order (mentioned [above](https://ghc.haskell.org/trac/ghc/wiki/Migration/8.4#TypevariableorderinGADTconstructors)), reified GADT constructors also now track the order in which users wrote type variables. Continuing the earlier example:
|
|
|
|
|
|
|
|
|
```
|
... | ... | @@ -86,7 +86,7 @@ In earlier GHCs, reifying `MkT` would have yielded a type headed by `ForallC [Pl |
|
|
### Deriving for empty data types
|
|
|
|
|
|
|
|
|
As part of [ this proposal](https://github.com/ghc-proposals/ghc-proposals/pull/63) was implemented, GHC now derives instances for empty data types (with no constructors) much differently than it did before. Here are the highlights:
|
|
|
As part of [this proposal](https://github.com/ghc-proposals/ghc-proposals/pull/63) was implemented, GHC now derives instances for empty data types (with no constructors) much differently than it did before. Here are the highlights:
|
|
|
|
|
|
- There is now an `EmptyDataDeriving` pragma which allows deriving `Eq`, `Ord`, `Read`, `Show` instances for empty data types. (Previously, this could only be done via `StandaloneDeriving`, but with `EmptyDataDeriving`, one can use `deriving` clauses to accomplish the same thing now.)
|
|
|
|
... | ... | @@ -251,7 +251,7 @@ See [wiki:Migration/8.0\#base-4.9.0.0](migration/8.0#) for more details |
|
|
|
|
|
#### `Semigroup`/`Monoid` superclasses
|
|
|
|
|
|
`Semigroup` becomes a superclass of `Monoid` with this release, please consult [ prime:wiki:Libraries/Proposals/SemigroupMonoid\#Writingcompatiblecode](https://prime.haskell.org/intertrac/wiki%3ALibraries/Proposals/SemigroupMonoid%23Writingcompatiblecode) for more information on recommendations for writing backward & forward compatible code.
|
|
|
`Semigroup` becomes a superclass of `Monoid` with this release, please consult [prime:wiki:Libraries/Proposals/SemigroupMonoid\#Writingcompatiblecode](https://prime.haskell.org/intertrac/wiki%3ALibraries/Proposals/SemigroupMonoid%23Writingcompatiblecode) for more information on recommendations for writing backward & forward compatible code.
|
|
|
|
|
|
#### `Typeable`
|
|
|
|
... | ... | |