Как реализованы функции библиотеки в Haskell
Я только начинаю изучать Haskell, и мне будет очень полезно увидеть, как реализованы функции Haskell. Я смог найти стандартную прелюдию по другому вопросу, но теперь меня интересует Data.List. Есть ли способ найти источник для этих функций?
Мне бы очень хотелось увидеть перестановки и нуб (и все остальное, но это самые интересные для меня сейчас).
Ответы
Ответ 1
Здесь вы найдете: http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-List.html
В более общем плане, если вы посмотрите страницу документации для Data.List
, вы увидите ссылки "Источник" справа от подписей типа, которые будут выполняться вы прямо к источнику для этой функции.
Вы можете найти источник для остальных стандартных библиотек таким же образом и, фактически, для почти всего в Hackage.
Ответ 2
Документация модуля Data.List находится здесь:
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html
И источник здесь:
http://www.haskell.org/ghc/docs/latest/html/libraries/base/src/Data-List.html
В GHCI вы можете сделать :browse Data.List
, чтобы узнать больше об этом модуле. Обратите внимание, что определения базового списка и операции также находятся в базовых пакетах, например. GHC.Base, GHC.List.
Ответ 3
Другие ссылки не работают для меня, проверьте это
http://hackage.haskell.org/package/base-4.12.0.0/docs/src/Data.List.html
Ссылка "Источник" находится в правом верхнем углу страницы.
Для просмотра любой реализации функции нажмите на нее.