答えて
は:info
コマンドを使用します。
Prelude> :info Int
data Int = GHC.Types.I# GHC.Prim.Int# -- Defined in GHC.Types
instance Bounded Int -- Defined in GHC.Enum
instance Enum Int -- Defined in GHC.Enum
instance Eq Int -- Defined in GHC.Base
instance Integral Int -- Defined in GHC.Real
instance Num Int -- Defined in GHC.Num
instance Ord Int -- Defined in GHC.Base
instance Read Int -- Defined in GHC.Read
instance Real Int -- Defined in GHC.Real
instance Show Int -- Defined in GHC.Show
もちろん、このリストは現在インポートされているモジュールによって異なります。
Prelude> :info (->)
data (->) a b -- Defined in GHC.Prim
Prelude> :m +Control.Monad.Instances
Prelude Control.Monad.Instances> :info (->)
data (->) a b -- Defined in GHC.Prim
instance Monad ((->) r) -- Defined in Control.Monad.Instances
instance Functor ((->) r) -- Defined in Control.Monad.Instances
うわー、私はちょうど私たちがお互いの1秒以内に回答を投稿したことに気付きました:21:32: 48Z対21:32:47Z。 –
@TikhonJelvis:うん、いいよ。 –
はタイプで:info
または:i
を試してみてください。
これが伝えるだけでなく、あなたの型クラスと型の宣言の両方を取得します、あなたは(あなたはそれが持っているものをコンストラクタ覚えていない場合に便利です)、それが定義されたました。あなたがあなた自身を定義するタイプの場合
、あなたもそれはEmacsで定義された場所へのリンクを取得します。これにより、あなたのソースをナビゲートするのが本当に便利になります。
:i
は非常に多目的です:との両方の値に使用できます。だから:i True
と:i Bool
の両方が機能する!
*Main> :i Bool
data Bool = False | True -- Defined in GHC.Bool
instance [overlap ok] Truthy Bool
-- Defined at /home/tikhon/Documents/blarg2.hs:40:10-20
instance Bounded Bool -- Defined in GHC.Enum
instance Enum Bool -- Defined in GHC.Enum
instance Eq Bool -- Defined in GHC.Classes
instance Ord Bool -- Defined in GHC.Classes
instance Read Bool -- Defined in GHC.Read
instance Show Bool -- Defined in GHC.Show
instance Ix Bool -- Defined in GHC.Arr
*Main> :i True
data Bool = ... | True -- Defined in GHC.Bool
また、演算子の優先順位を確認するために非常に便利です:
*Main> :i +
class (Eq a, Show a) => Num a where
(+) :: a -> a -> a
...
-- Defined in GHC.Num
infixl 6 +
- 1. テーブルが 'インスタンス'であるかどうかを確認する
- 2. テンプレートタイプがテンプレートクラスのインスタンスであるかどうかを確認するには?
- 3. オブジェクトがジェネリックベースクラスのインスタンスであるかどうかを確認するジェネリックタイプ
- 4. Django Modelインスタンスが "dirty"かどうか確認できますか?
- 5. NSRectがnullであるかどうかを確認します。
- 6. チェックテキストボックスが空であるかどうかを確認します。
- 7. NSTimeIntervalが0であるかどうかを確認します。
- 8. テンプレートハスケル:GHCiで確認
- 9. Pythonモジュールがクラスをインスタンス化したかどうかを確認しますか?
- 10. インスタンスがPysparkのデータフレームにあるかどうかを確認する方法はありますか?
- 11. クラスがPythonでインスタンス化されているかどうかを確認する方法はありますか?
- 12. Androidサーバがオンラインであるかどうかを確認する
- 13. JSONレスポンスがヌルであるかどうかを確認する
- 14. Spinnerが空であるかどうかを確認するSQLite
- 15. データが ""であるかどうかを確認する方法
- 16. 長さがrtattrであるかどうかを確認する
- 17. スプリットメソッドが空であるかどうかを確認する
- 18. 要素がフォームフィールドであるかどうかを確認する
- 19. flowLayoutPanelが空であるかどうかを確認する#
- 20. フィールドがシステムフィールドであるかどうかを確認する
- 21. スケープが真であるかどうかを確認する
- 22. 木がBSTであるかどうかを確認する
- 23. 文字がスラッシュであるかどうかを確認する
- 24. テーブルが空であるかどうかを確認する
- 25. プロローグがリストが昇順であるかどうかを確認します
- 26. VirtualKeyが修飾キーであるかどうかを確認しますか?
- 27. メールボックスが空であるかどうかを確認しますか? in erlang
- 28. リレーションシップがBCNF形式であるかどうかを確認しますか?
- 29. TypeScript - 'any'パラメータがカスタムタイプであるかどうかを確認しますか?
- 30. インスペクタの配列が空であるかどうかを確認します
さらに、下位のハスケルモードを使用してソースを表示することができます。ドキュメントについては、github.com/haskell/haskell-mode/wikiとchrisdone.com/posts/haskell-mode-docsを参照してください。 – artella