我正在使用一个库,我已将其加载到GHCI中。
从功能的名称来看,我应该使用哪一个;我确定它存在,并希望看到我可以使用的函数的类型签名列表。我不知道该怎么做。
:t
,但它似乎只适用于单个函数,我不想为库中导出的每个函数执行此操作。grep -R :: ./*
或类似内容可能会忽略没有显式类型签名的函数。我愿意尝试任何方法,但显然更喜欢简单,便携和可重复的方法。
有没有办法找到库中所有导出函数的类型签名?或者找出哪些函数具有包含某种类型的类型签名?
答案 0 :(得分:5)
只需使用:browse Module.Name
,您就会看到模块导出的所有值:
> :browse Data.Tagged
newtype Tagged s b = Tagged {unTagged :: b}
asTaggedTypeOf :: s -> Tagged s b -> s
retag :: Tagged s b -> Tagged t b
tagSelf :: a -> Tagged a a
untag :: Tagged s b -> b
untagSelf :: Tagged a a -> a