Этот выпуск мини змаеток полностью посвящается замечательному языку программирования Haskell. Сегодня мы узнаем, что в ghci можно просматривать документацию, что в Haskell есть глобальные переменные и интерполяция строк, а также о других интересных вещах. Предыдущие выпуски: шестнадцатый , пятнадцатый , четырнадцатый , тринадцатый .
1. Отображение документации в ghci
Через ghci можно просматривать документацию. Для этого в файл ~/.cabal/config прописываем, если у вас это еще не сделано:
documentation: True
Теперь во время сборки пакетов документация к ним будет генерироваться в каталоге ~/.cabal/share/doc. Затем устанавливаем утилиту haskell-docs:
cabal install haskell-docs
в ~/.ghci дописываем:
:set -package regex-pcre
:set -package process
:set -package directory
:set -w
:m +Text.Regex.PCRE
:def doc x -> return (unlines [«:unset +s»,»:redir eax_info :i » ++ x,»let (_,_,_,[eax_mod]) = (eax_info =~ («Defined in `(.*?)'»» :: String)) :: (StringStringString[String])»»
:set -package process
:set -package directory
:set -w
:m +Text.Regex.PCRE
:def doc x -> return (unlines [«:unset +s»,»:redir eax_info :i » ++ x,»let (_,_,_,[eax_mod]) = (eax_info =~ («Defined in `(.*?)'»» :: String)) :: (StringStringString[String])»»