为Data.Functor.Compose编写一个没有FlexibleContexts的Show实例



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

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

我想知道的是:有没有一种方法来写这个显示实例没有FlexibleContexts?

我认为这不可能。引用flexblecontexts的GHC文档:

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

最新更新