Например, если я хотел бы прочитать исходный код для функции curry
по умолчанию в Prelude, куда я могу обратиться? Есть ли способ прочитать его реализацию? Я попытался найти его в Hoogle, но он не дает точной реализации, а только типы ввода и вывода. Я использую GHCI на стек, чтобы запустить haskell.-Как прочитать код реализации/исходный код встроенных функций в Haskell?
1
A
ответ
8
Как @Lee упоминалось в комментариях, есть ссылка на source для многих функций на hackage.
После этого приведет вас к исходному коду для 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
Нажмите [источник] (http://hackage.haskell.org/package/base-4.9.1.0/docs/ src/Data.Tuple.html # curry) в правой части. – Lee
Стоит упомянуть: ссылка на соединение отсутствует там каждый раз. например, «mtl» ретранслирует функции из «трансформаторов», и только ссылка на «трансформаторы» содержит ссылку. – jakubdaniel