Haskell 在没有FlexibleContext的情况下编写Data.Functor.Compose的Show实例

Haskell 在没有FlexibleContext的情况下编写Data.Functor.Compose的Show实例,haskell,functor,Haskell,Functor,我正在进行试验,并想在ghci中尝试时为其编写一个演示实例。我所拥有的(正在工作的)是: 我想知道的是:有没有一种方法可以在没有FlexibleContext的情况下编写这个Show实例?我认为这是不可能的。引述: 在Haskell 98中,实例声明上下文中的断言必须采用C a的形式,其中a是出现在头部的类型变量 谢谢你的回答!你知道有什么文件可以用这种语言描述这些“不可代表性”的案例吗?除了Haskell报告和GHC文件,我什么都没想到。 {-# LANGUAGE FlexibleContex

我正在进行试验,并想在ghci中尝试时为其编写一个演示实例。我所拥有的(正在工作的)是:


我想知道的是:有没有一种方法可以在没有FlexibleContext的情况下编写这个Show实例?

我认为这是不可能的。引述:

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


谢谢你的回答!你知道有什么文件可以用这种语言描述这些“不可代表性”的案例吗?除了Haskell报告和GHC文件,我什么都没想到。
{-# LANGUAGE FlexibleContexts #-}
instance (Show (f (g a))) => Show (Compose f g a) where
    show = show . getCompose