Я построил двоичное дерево с помощью:
data Tree a = Empty
| Node a (Tree a) (Tree a)
deriving (Eq, Ord, Read, Show)
Как я могу создать экземпляр класса типа Monad для этого дерева? И могу ли я сделать это на другом?
Я пытаюсь:
instance Monad Tree where
return x = Node x Empty Empty
Empty >>= f = Empty
(Node x Empty Empty) >>= f = f x
Но я не могу сделать (>> =) для Узла x слева направо.
Спасибо.