2016-06-17 1 views
2

Я пытаюсь выяснить, где тип LayoutClass или конструктор данных определен для XMonad https://hackage.haskell.org/package/xmonad-0.12/docs/XMonad-Core.html#t:LayoutClass.Как узнать, где определен тип, конструктор данных или тип класса?

Я также попытался использовать GHCI без успеха:

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

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

ответ

4

LayoutClass не является типом данных или конструктор типа. Это стиль. Вы можете проверить его, нажав кнопку Source справа от строки, начинающейся с LayoutClass, в таблице Instances в документации. Например, это первая строка кода для строки, начиная с LayoutClass Layout Window

instance LayoutClass Layout Window where 

Это означает, что Layout Window является экземпляром LayoutClass класса типов.

+0

Есть ли способ, чтобы найти, где класс типа определяется через ghci? –

+2

попробуйте использовать команду ': i' – ErikR

+1

Использование': i' работает для любого конструктора типов, конструктора значений, имени класса, функции или метода и обычно сообщает вам что-то интересное. – MathematicalOrchid

0

Hoogle часто используется для этой цели: http://hoogle.haskell.org/?hoogle=LayoutClass

Но это, кажется, не индекс все доступные пакеты для взлома.

выше класс типов индексируются последней (в Альфе сейчас) Hoogle: http://hoogle.haskell.org/?hoogle=LayoutClass

Вы можете также искать stackage Hoogle: https://www.stackage.org/lts-8.11/hoogle?q=LayoutClass