这里还是一个哈克尔诺布!
我想要获得一棵树的大小?
data Tree a = Leaf a | Node (Tree a) (Tree a)
size :: Tree a -> Int
size empty = 0
size (Leaf n) = 1
size (Node x z) = size x + size z + 1
如果我用
调用该函数size (Node (Node (Leaf 1)(Leaf 3)) (Leaf 2))
我得到的只是0.代码是否正确,我只是没有正确地调用它?
顺便说一句,我看过很多用Empty而不是空的例子,但这会在编译时导致错误。我在这里缺少什么?