Как реализуются библиотечные функции в Haskell

Я только начинаю изучать Haskell и было бы очень полезно посмотреть, как реализуются функции Haskell. Я смог найти стандартную прелюдию к другому вопросу, но теперь меня интересуют данные.Список. Есть ли способ найти источник этих функций?

Я бы очень хотел увидеть перестановки и nub (и все остальное, но это самое интересное для меня прямо сейчас).

2 ответов


вот вы идете: http://hackage.haskell.org/packages/archive/base/latest/doc/html/src/Data-List.html

в более общем плане, если вы посмотрите на страница документации для Data.List вы увидите ссылки "источник" справа от сигнатур типа, которые приведут вас непосредственно к источнику для этой функции.

вы можете найти источник для остальных стандартных библиотек таким же образом и, фактически, почти все о Hackage.


документация данных.Модуль 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.Базы, с GHC.Список.