このコードは数分前に機能していましたが、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