Tree a
次のように呼ばれる多態的なデータ型を定義しました。
data Tree a = Leaf | Node a (Tree a) (Tree a)
関数を受け取り、 typeのツリー内mapT
の type のすべてのデータ項目に適用する関数を定義したいと考えています。この関数の本質的な目的は、関数がリストで動作するのと同じようにツリーで動作することなので、その考えに基づいて関数を作成しました。a
Tree a
map
mapT :: (a -> b) -> Tree a -> Tree b
mapT f Leaf = Leaf
mapT f ((Tree a) left right) = (Tree a) (mapT f left) (mapT f right)
ただし、これを実行するParse error in pattern: (Tree a)
と、エラーが発生し、何が問題なのかわかりません。これを通過する方法を知っている人はいますか?