2017-11-16 116 views
6

Haskell'e yeni bir üyeyim ve Haskell standart kütüphanesinin'a bölünmüş olduğunu biliyorum, bunların her biri functions ve types'u içeriyor ve bazı ortak amaçlarla ilgilidir. Bu kütüphane işlevlerinin uygulamasını (kodunu) görmek isterim. Bunu görebilir miyim? ghci'da herhangi bir komut var, böylece uygulamaları görebiliyorum ya da modüller hakkında bilgi edinmek için bana herhangi bir kaynak sağlayabileceğim. Teşekkür ederizBir modülün uygulanmış kodunun nasıl yapıldığını görmek haskell?

+2

Bunu Hackage'den kontrol edin. Örneğin, bu [Data.Vector] (https://hackage.haskell.org/package/vector-0.12.0.1/docs/Data-Vector.html) paketidir. Açıklanan her işlev, örnek veya veri tanımı, karşılık gelen satırın en sağında bir # kaynak bağlantısı içerir. – Redu

cevap

4

Muhtemelen bunu yapmanın en uygun yolu, Hackage kullanıyor. Örneğin, işlev imzasının sağ tarafında Source öğesini tıklatarak map işlevini denetleyebilirsiniz. Bu, vurgulanan kod parçasını gösterecektir. Örneğin:

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 

Ayrıca adı veya imza ile arama işlevlerine Hoogle kullanabilir ve sonuçlarını tıklayarak, ilgili hackage sayfasına yönlendirileceksiniz.

İlgili konular