Нет, это невозможно — не только для случаев, но и для всего. GHC регистрирует только скомпилированную версию пакета, поэтому исходный код обычно недоступен для ghci.
Вероятно, чаще всего вы будете использовать материал из Hackage; в этом случае очень просто найти исходный код таких экземпляров, прогуглив модуль, найдите объявление класса или данных и щелкните источник.
Если у вас нет доступа к Интернету или по какой-либо другой причине вы не можете гуглить в Интернете, вам сначала нужно выяснить, в какой пакет включен модуль. Самый простой способ сделать это:
$ ghc-pkg find-module Data.Maybe
/usr/local/haskell/lib/ghc-7.6.2/package.conf.d
base-4.6.0.1
haskell2010-1.1.1.0< br> ~/.ghc/x86_64-linux-7.6.2/package.conf.d
Затем, как я уже сказал, GHC не знает, где находится исходный код этих пакетов — на самом деле он может быть даже недоступен в вашей системе! Но если вы установили пакет (или тот, который зависит от него) с помощью cabal install
, он будет там по умолчанию в ~/.cabal/packages/hackage.haskell.org/PᴀᴄᴋᴀɢᴇNᴀᴍᴇ
(в виде сжатого архива, но это не большая проблема). В папке проекта пакета вы можете просто найти модуль через структуру каталогов, которая представляет иерархию модулей.
Другие пакеты, такие как ваш пример Data.Maybe
(пакет haskell2010
), могли быть установлены вместе с вашей установкой GHC, например. Платформа Хаскель. В таком случае, я думаю, проще всего поискать там файл документации Haddock. В моем случае,
$ find /usr/local/haskell -name 'Data-Maybe.html' | голова -n1 | xargs firefox
Это откроет эквивалент того, на что вас ссылает hoogle (но на вашем локальном HD), где вы также можете просмотреть исходный код в удобной для пользователя форме.
person
leftaroundabout
schedule
19.08.2013