2017-11-16 18 views
6

Tôi là người mới đến Haskell và tôi biết Thư viện chuẩn Haskell được chia thành modules, mỗi thư viện chứa functionstypes có liên quan và phục vụ một số mục đích chung. Tôi muốn thấy việc thực hiện (mã) của các chức năng thư viện. Tôi có thể thấy điều đó ở đâu? là có bất kỳ lệnh nào trong ghci để tôi có thể xem triển khai hoặc cung cấp cho tôi bất kỳ tài nguyên nào để tìm hiểu về các mô-đun. Cảm ơn bạncách xem mã được triển khai của hàm của mô-đun trong haskell?

+2

Khám phá từ Hackage. Ví dụ, đây là gói [Data.Vector] (https://hackage.haskell.org/package/vector-0.12.0.1/docs/Data-Vector.html). Mỗi hàm, cá thể hoặc định nghĩa dữ liệu được giải thích cũng bao gồm một liên kết #source ở ngoài cùng bên phải của dòng tương ứng. – Redu

Trả lời

4

Có lẽ cách thuận tiện nhất để thực hiện việc này là sử dụng Hackage. Ví dụ, bạn có thể kiểm tra hàm map, bằng cách nhấp vào Source ở bên phải chữ ký hàm. Điều này sau đó sẽ hiển thị đoạn mã được đánh dấu. Ví dụ:

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 

Bạn cũng có thể sử dụng Hoogle chức năng tìm kiếm theo tên hoặc chữ ký, và bằng cách nhấn vào kết quả, bạn sẽ được chuyển đến trang hackage có liên quan.

Các vấn đề liên quan