5

注釈付きの AST が必要なので、以下を使用して再帰的なデータ構造を定義しましたFix

data Term a 
  = Abstraction Name a
  | Application a a
  | Variable Name
  deriving (Read,Show,Eq,Functor,Foldable,Traversable)

data Label a b 
  = Label a (Term b)
  deriving (Read,Show,Eq,Functor,Foldable,Traversable)

newtype Labeled a 
  = Labeled (Fix (Label a))
  deriving (Show)

できるようにしたいshowのですLabeled aが、コンパイラは満足していません:

No instance for (Show1 (Label a))  
arising from the first field of `Labeled' (type `Fix (Label a)')

クラスShow1とは何ですか?また、表示できるように適切なインスタンスを定義するにはどうすればよいLabeled aですか?

4

1 に答える 1