Я нахожу это полезным в Python или Common Lisp, что вы можете перечислить содержимое библиотеки во время выполнения. Есть ли у Haskell то же самое, в частности из приглашения GHCI?
Есть ли способ увидеть список функций в модуле, в GHCI?
Ответ 1
GHCi имеет команду :browse
для перечисления содержимого модулей:
Prelude> :browse Data.List
(\\) :: (Eq a) => [a] -> [a] -> [a]
delete :: (Eq a) => a -> [a] -> [a]
deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
elemIndex :: (Eq a) => a -> [a] -> Maybe Int
...
Prelude> :help
...
:browse[!] [[*]<mod>] display the names defined by module <mod>
(!: more details; *: all top-level names)
...
Ответ 2
В зависимости от конкретной информации, которую вы собираетесь извлечь... Если ваша версия GHCi поддерживает табуляцию, вы можете использовать ее для отображения всех доступных функций пространства имен:
Prelude> :m +Data.List
Prelude Data.List> Data.List.<PRESS TAB KEY HERE>
Display all 109 possibilities? (y or n) <PRESS n>
Prelude Data.List> Data.List.un<PRESS TAB KEY HERE>
Data.List.unfoldr Data.List.unlines Data.List.unzip3 Data.List.unzip6
Data.List.union Data.List.unwords Data.List.unzip4 Data.List.unzip7
Data.List.unionBy Data.List.unzip Data.List.unzip5