5

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

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

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

4

1 回答 1

3

我不认为这是可能的。引用FlexibleContexts 的 GHC 文档

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

于 2013-06-07T22:14:06.167 回答