特定のタイプの ghci で Typeclass 定義を確認する方法はありますか?
たとえば、Maybe
次のように定義されます。
instance Functor Maybe where
fmap f (Just x) = Just (f x)
fmap f Nothing = Nothing
これを ghci で見ることができますか?
:info
ghci で使用すると、次のようになります。
Prelude> :i Maybe
data Maybe a = Nothing | Just a -- Defined in `Data.Maybe'
instance Eq a => Eq (Maybe a) -- Defined in `Data.Maybe'
instance Monad Maybe -- Defined in `Data.Maybe'
instance Functor Maybe -- Defined in `Data.Maybe'
instance Ord a => Ord (Maybe a) -- Defined in `Data.Maybe'
instance Read a => Read (Maybe a) -- Defined in `GHC.Read'
instance Show a => Show (Maybe a) -- Defined in `GHC.Show'
上記の出力で、 Data.Maybe で のインスタンスとしてどのように定義されているかを確認したいと思いますFunctor
。とにかくghciでそれを見るには?