Ещё один haskell noob здесь!Haskell размер дерева
Я пытаюсь получить размер дерева?
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. Является ли правильный код, и я просто не назвав его правильно?
BTW, я видел множество примеров с пустым, а не пустым, но это вызывает ошибку при компиляции. Что мне здесь не хватает?
Спасибо, я думал, что это может быть проблемой. Как мне очистить работу? Импортировать кое-что возможно? – user3633383
@ user3633383 Посмотрите на свой древовидный тип данных. Возможно ли иметь по вашему определению пустое дерево? – AJFarmar