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