这段代码在几分钟前还在工作,在我重新启动我的 ghci 后,它就停止工作了。现在我在where
,snst
或size
. (不知道我改变了什么导致每个单独的错误)
有人可以指出我的语法有什么问题吗?
instance Array Tree where
new n x
| n <= 0 = Leaf
| odd n = Node n nst x nst
| even n = Node n (Node (n `div` 2) snst x snst) x snst
where nst = (new (n `div` 2) x)
snst = (new (n `div` 2 - 1) x)
size Leaf = 0
size (Node s _ _ _) = s