我正试图XRankNTypes在GHCi中启用.我该怎么做呢?
我的树是由
data Tree a = Leaf a | Node (Tree a) (Tree a)
deriving (Show)
Run Code Online (Sandbox Code Playgroud)
我还宣布了一个测试树.
myTree = Node (Node (Leaf 1) (Leaf 2)) (Leaf 3)
Run Code Online (Sandbox Code Playgroud)
我想要做的是创建一个函数maptree f,它将作用于Leaf.更具体地说f x = x +1,
然后maptree f myTree会回来
Node (Node (Leaf 2) (Leaf 3)) (Leaf 4)
Run Code Online (Sandbox Code Playgroud)
我的解决方案是
maptree f (Leaf a)= Leaf (f a)
maptree f (Node xl xr ) = Node (maptree xl) (maptree xr)
Run Code Online (Sandbox Code Playgroud)
但它会返回以下错误
Couldn't match expected type `Tree a'
against inferred type `Tree t -> …Run Code Online (Sandbox Code Playgroud)