notes/.vscode/extensions/eckertalex.borealis-1.0.2/demo/haskell.hs
2021-11-05 11:26:45 -07:00

18 lines
350 B
Haskell

data Control
= Master [Text]
| Node
| Reset
deriving (Eq, Show)
instance Semigroup Control where
Reset <> _ = Node
_ <> Reset = Node
Node <> Node = Node
Node <> m@(Master _) = m
m@(Master _) <> Node = m
(Master m0) <> (Master m1) = Master (m0 <> m1)
-- hello
instance Monoid Control where
mempty = Node
mappend a b = a <> b