2017-11-16 11 views
6

나는 Haskell의 초보자이며, Haskell 표준 라이브러리가 modules으로 분할되어 있다는 것을 알고 있습니다. 각각은 functionstypes을 포함하고 있습니다. 라이브러리 함수의 구현 (코드)을보고 싶습니다. 어디에서 볼 수 있습니까? ghci에 명령이있어 구현을 보거나 모듈에 대해 배울 수있는 리소스를 제공 할 수 있습니다. 감사합니다.haskell에서 모듈의 기능 구현 코드를 보는 방법은 무엇입니까?

+2

Hackage에서 확인하십시오. 예를 들어 [Data.Vector] (https://hackage.haskell.org/package/vector-0.12.0.1/docs/Data-Vector.html) 패키지입니다. 설명 된 모든 함수, 인스턴스 또는 데이터 정의에는 해당 행의 맨 오른쪽에 #source 링크가 포함됩니다. – Redu

답변

4

아마도 가장 편리한 방법은 Hackage입니다. 예를 들어 기능 서명의 오른쪽에있는 Source을 클릭하여 map 기능을 검사 할 수 있습니다. 그러면 강조 표시된 코드 조각이 표시됩니다. 예를 들어 :

map :: (a -> b) -> [a] -> [b] 
{-# NOINLINE [0] map #-} 
    -- We want the RULEs "map" and "map/coerce" to fire first. 
    -- map is recursive, so won't inline anyway, 
    -- but saying so is more explicit, and silences warnings 
map _ []  = [] 
map f (x:xs) = f x : map f xs 

당신은 또한 이름이나 서명으로 기능을 검색 할 Hoogle을 사용할 수 있으며, 그 결과를 클릭하면 관련 hackage 페이지로 리디렉션됩니다.