我正在尝试使用Data.Functor.Compose
,并希望在ghci中尝试时为它编写一个Show实例。我所拥有的(有效)是:
{-# LANGUAGE FlexibleContexts #-}
instance (Show (f (g a))) => Show (Compose f g a) where
show = show . getCompose
我想知道的是:有没有办法在没有FlexibleContexts的情况下编写这个Show实例?
答案 0 :(得分:3)
我认为不可能。引用GHC documentation for FlexibleContexts:
在Haskell 98中,实例声明上下文中的断言必须是C a形式,其中a是头部中出现的类型变量。