ghci의 특정 유형에 대한 유형 정의를 볼 수있는 방법이 있습니까?특정 유형에 대한 ghci의 유형 정의 정의보기
instance Functor Maybe where
fmap f (Just x) = Just (f x)
fmap f Nothing = Nothing
내가 ghci에서 볼 수있다 :
예를 들어, Maybe
은 다음과 같이 정의된다? 위의 출력에서
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'
, 나는 그것이 Functor
에 대한 인스턴스로 Data.Maybe에 정의하는 방법을보고 싶어 : 나는 ghci에서 :info
를 사용하는 경우,
는,이 얻을. 어쨌든 ghci에서 그것을 볼 수 있습니까?
자신의 컴퓨터에서 ('cabal install; hoogle data') hoogle을 실행하는 것은 상당히 간단합니다. – aavogt
@aavogt : 그렇습니다. 그러나 명령 줄 검색은 온라인 버전과 마찬가지로 haddock에 대한 좋은 링크를 제공하지 않습니다. 로컬 서버로 사용하는 것은 그리 간단하지 않습니다. – leftaroundabout
'data double '과 같은 것을 찾고,'Num'를 따르기 위해'+'를 구현 한 경우,이 방법은 여전히 소스 코드를 볼 방법을 제공하지 않습니다. Hoogle의 'Maybe'예는 소스와의 연결을 제공하지만 일반적으로 유형과 관련이 없습니다. – ely