Как реализованы функции библиотеки в 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

Ссылка "Источник" находится в правом верхнем углу страницы.

Для просмотра любой реализации функции нажмите на нее.