GHCi command listing possible type class instances
This is a reminder ticket,
I want to be able to list possible instances,
>>> :insts Product
(Functor f, Functor g) => Functor (Product f g)
(Applicative f, Applicative g) => Applicative (Product f g)
...
>>> :insts Product Identity
Functor g => Functor (Product Identity g)
Applicative g => Applicative (Product Identity g)
Monad g => Monad (Product Identity g)
MonadFix g => MonadFix (Product Identity g)
MonadZip g => MonadZip (Product Identity g)
...
>>> :insts Product Identity Identity
Functor (Product Identity Identity)
Applicative (Product Identity Identity)
Monad (Product Identity Identity)
MonadFix (Product Identity Identity)
MonadZip (Product Identity Identity)
Would be so useful for GeneralizedNewtypeDeriving
newtype Pair a = P (Product Identity Identity a)
deriving (Functor, Applicative, Monad, MonadFix, MonadZip, ...)
-- pattern (:#) :: a -> a -> Pair a
-- pattern a1 :# a2 = P (Identity a1 `Pair` Identity a2)
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |