在没有FlexibleContexts的情况下为Data.Functor.Compose编写Show实例

时间:2013-06-07 18:04:40

标签: haskell functor

我正在尝试使用Data.Functor.Compose,并希望在ghci中尝试时为它编写一个Show实例。我所拥有的(有效)是:

{-# LANGUAGE FlexibleContexts #-}
instance (Show (f (g a))) => Show (Compose f g a) where
    show = show . getCompose

我想知道的是:有没有办法在没有FlexibleContexts的情况下编写这个Show实例?

1 个答案:

答案 0 :(得分:3)

我认为不可能。引用GHC documentation for FlexibleContexts

  

在Haskell 98中,实例声明上下文中的断言必须是C a形式,其中a是头部中出现的类型变量。