... | ... | @@ -280,14 +280,18 @@ dataExample a =Example a |
|
|
reifyConStrictness::Name->Q[DecidedStrictness]dataDecidedStrictness=DecidedLazy|DecidedStrict|DecidedUnpack
|
|
|
```
|
|
|
|
|
|
- The `InstanceD` constructor of type `Dec` has an additional field of type `Maybe Overlap`. It is used to specify the overlapping behavior for the instances, as with the `{-# OVERLAP/S/PED/PING #-}` pragmas:
|
|
|
- The `InstanceD` constructor
|
|
|
|
|
|
```
|
|
|
dataDec=...|InstanceD(MaybeOverlap)CxtType[Dec]|...dataOverlap=Overlappable|Overlapping|Overlaps|Incoherent
|
|
|
```
|
|
|
|
|
|
> >
|
|
|
> > Note that to reduce code breakage, and to support the common case, the corresponding `instanceD` function was not changed---it will produce instances where the "overlap" field is set to `Nothing`. To generate instances with a specific overlapping behavior, please use `instanceWithOverlapD`.
|
|
|
This was a late change introduced in GHC 8.0 RC4, see [ discussion](https://mail.haskell.org/pipermail/ghc-devs/2016-April/011803.html) for more details.
|
|
|
|
|
|
of type `Dec` has an additional field of type `Maybe Overlap`. It is used to specify the overlapping behavior for the instances, as with the `{-# OVERLAP/S/PED/PING #-}` pragmas:
|
|
|
|
|
|
```
|
|
|
dataDec=...|InstanceD(MaybeOverlap)CxtType[Dec]|...dataOverlap=Overlappable|Overlapping|Overlaps|Incoherent
|
|
|
```
|
|
|
|
|
|
Note that to reduce code breakage, and to support the common case, the corresponding `instanceD` function was not changed---it will produce instances where the "overlap" field is set to `Nothing`. To generate instances with a specific overlapping behavior, please use `instanceWithOverlapD`.
|
|
|
|
|
|
---
|
|
|
|
... | ... | |