| ... | ... | @@ -7,6 +7,15 @@ Automatic derivation of instances is jolly useful. Current problems are: |
|
|
|
|
|
|
|
- Automatic derivation is only available for certain classes defined in the Prelude and standard libraries.
|
|
|
|
- There is no way to specify how to derive a user-defined class in the general case.
|
|
|
|
- There is no way to derive an instance of a class for a data type that is defined elsewhere (in another module).
|
|
|
|
- There is no easy way to refer to the definitions that would have been derived when defining an explicit instance.
|
|
|
|
- Deriving fails for some Haskell-98 data types. Try
|
|
|
|
|
|
|
|
```wiki
|
|
|
|
data Rose f a = Fork a (f (Rose f a)) deriving Show
|
|
|
|
```
|
|
|
|
|
|
|
|
as an example.
|
|
|
|
- Even in the absence of user-defined deriving, it should be easy for a 'newtype' decl to inherit some of the instances of its parent type, no matter where the class was defined, but this is currently only available as a ghc extension to haskell'98.
|
|
|
|
|
|
|
|
|
| ... | ... | |