2017-02-22 47 views
1

Например, если я хотел бы прочитать исходный код для функции curry по умолчанию в Prelude, куда я могу обратиться? Есть ли способ прочитать его реализацию? Я попытался найти его в Hoogle, но он не дает точной реализации, а только типы ввода и вывода. Я использую GHCI на стек, чтобы запустить haskell.-Как прочитать код реализации/исходный код встроенных функций в Haskell?

Hoogle curry

+3

Нажмите [источник] (http://hackage.haskell.org/package/base-4.9.1.0/docs/ src/Data.Tuple.html # curry) в правой части. – Lee

+0

Стоит упомянуть: ссылка на соединение отсутствует там каждый раз. например, «mtl» ретранслирует функции из «трансформаторов», и только ссылка на «трансформаторы» содержит ссылку. – jakubdaniel

ответ

8

Как @Lee упоминалось в комментариях, есть ссылка на source для многих функций на hackage. enter image description here

После этого приведет вас к исходному коду для curry:

-- | 'curry' converts an uncurried function to a curried function. 
curry     :: ((a, b) -> c) -> a -> b -> c 
curry f x y    = f (x, y) 
+0

Спасибо, только что я искал! Он помещен таким образом, что делает его невидимым, не имеет цвета ссылки, небольшого шрифта. Это почти похоже на комментарий. – devssh