如何找出定义类型,数据构造函数或类型类的位置?

时间:2016-06-17 07:19:16

标签: haskell xmonad

我试图找出为XMonad https://hackage.haskell.org/package/xmonad-0.12/docs/XMonad-Core.html#t:LayoutClass定义LayoutClass类型或数据构造函数的位置。

我也试过使用ghci但没有成功:

Prelude> import XMonad.Core
Prelude XMonad.Core> :t LayoutClass

<interactive>:1:1: error:
    Data constructor not in scope: LayoutClass
Prelude XMonad.Core>

3 个答案:

答案 0 :(得分:4)

LayoutClass不是数据类型或类型构造函数。这是一个类型类。您可以点击文档中Source表中以LayoutClass开头的行右侧的Instances按钮来验证它。例如,这是以LayoutClass Layout Window

开头的行的第一行代码
instance LayoutClass Layout Window where

这意味着Layout WindowLayoutClass类型类的实例。

答案 1 :(得分:2)

您关联的行右侧有一个“来源”链接,在本例中为https://hackage.haskell.org/package/xmonad-0.12/docs/src/XMonad-Core.html#LayoutClass

答案 2 :(得分:0)

Hoogle通常用于此目的: http://hoogle.haskell.org/?hoogle=LayoutClass

但它似乎并没有为hackage上的所有可用软件包编制索引。

上面的类型类由最新的(现在为Alpha)Hoogle索引: http://hoogle.haskell.org/?hoogle=LayoutClass

您还可以搜索堆栈Hoogle: https://www.stackage.org/lts-8.11/hoogle?q=LayoutClass