ghci 仅显示类型类方法

Posted

技术标签:

【中文标题】ghci 仅显示类型类方法【英文标题】:ghci show only typeclass methods 【发布时间】:2014-04-29 21:12:14 【问题描述】:

在 ghci 中,您可以运行 :info 命令来了解在类型类上定义的方法,以及查看该类型类的实例。

例如,:info Eq 输出

class Eq a where
  (==) :: a -> a -> Bool
  (/=) :: a -> a -> Bool
    -- Defined in `GHC.Classes'

还有很多行的实例

instance (Eq k, Eq a) => Eq (Map k a)
  -- Defined in `containers-0.5.0.0:Data.Map.Base'
instance Eq a => Eq (Maybe a) -- Defined in `Data.Maybe'
...

在 ghci 中有没有办法只输出类型类中定义的方法而不输出所有实例?换句话说,我希望 ghci 命令只输出以下内容:

class Eq a where
  (==) :: a -> a -> Bool
  (/=) :: a -> a -> Bool
    -- Defined in `GHC.Classes'

【问题讨论】:

不。对于那个很抱歉。如果您试图通过此请求解决一些更大的问题,也许我们可以帮助您解决其他方法。 谢谢。真的,我只是想更多地控制:info 的输出。经常有很多实例,有时很难在所有输出中找到类信息。如果您想提交答案,我会将“否”答案标记为正确。 【参考方案1】:

不,很遗憾。 :-/

不,您的答案不能少于 30 个字符。

【讨论】:

以上是关于ghci 仅显示类型类方法的主要内容,如果未能解决你的问题,请参考以下文章

FxCop 中的自定义规则仅适用于由特定类型的方法调用的方法

c++ 在基类类型的向量中调用子类方法

接口仅用来定义类型

包装类

EventBus手写实现事件通信框架 ( 订阅类-订阅方法缓存集合 | 事件类型-订阅者集合 | 订阅对象-事件类型集合 )

Java方法重载