... | ... | @@ -164,4 +164,30 @@ GHC now bundles `mtl` 2.3, which includes some non-backwards-compatible changes: |
|
|
|
|
|
GHC 9.6 bundles `directory-1.3.8.0`. The modules exported by this library are no longer considered `Safe` by `SafeHaskell`.
|
|
|
|
|
|
This means that modules that import modules from `directory` can no longer be marked as `Safe`. To address this, you might need to mark these modules as `Trustworthy` instead. |
|
|
\ No newline at end of file |
|
|
This means that modules that import modules from `directory` can no longer be marked as `Safe`. To address this, you might need to mark these modules as `Trustworthy` instead.
|
|
|
|
|
|
### `transformers` 0.6
|
|
|
|
|
|
GHC 9.6 bundles `transformers-0.6` which adds a quantified `Monad` context to the `MonadTrans` typeclass:
|
|
|
|
|
|
```diff
|
|
|
-class MonadTrans t
|
|
|
+class (forall m. Monad m => Monad (t m)) => MonadTrans t
|
|
|
```
|
|
|
|
|
|
Adapting to this change will require adding missing `Monad` instances, or adding extra contraints in a context to ensure that an existing `Monad` instance can be satisfied. For example, if one had:
|
|
|
|
|
|
```
|
|
|
data T u m a = ...
|
|
|
|
|
|
instance Ctxt u => Monad (T u m) where { .. }
|
|
|
instance MonadTrans (T u) where { .. }
|
|
|
```
|
|
|
|
|
|
one will need to add the `Monad` context to the `MonadTrans` instance:
|
|
|
|
|
|
```haskell
|
|
|
instance Ctxt u => MonadTrans (T u) where { .. }
|
|
|
```
|
|
|
|
|
|
|