我正在试验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是出现在头部的类型变量。