5

私は実験しData.Functor.Composeていて、ghci で試してみるときに Show インスタンスを書きたいと思っていました。私が持っている(動作している)ものは次のとおりです。

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

私が疑問に思っていたのは、この Show インスタンスを FlexibleContexts なしで作成する方法はありますか?

4

1 に答える 1

3

私はそれが可能だとは思わない。FlexibleContexts の GHC ドキュメントを引用するには:

Haskell 98 では、インスタンス宣言のコンテキストでのアサーションは C a の形式でなければなりません。ここで、a はヘッドで発生する型変数です。

于 2013-06-07T22:14:06.167 に答える