lab06: init

This commit is contained in:
2026-02-23 11:22:37 -08:00
parent 16be5b2691
commit 10d551b4bc

21
lab06/functors.lhs Normal file
View File

@@ -0,0 +1,21 @@
> data Tree v =
> Empty
> | Node v (Tree v) (Tree v)
> deriving (Show)
The findT method shows how we may search through the tree to find a value.
> findT :: Ord v => v -> Tree v -> Maybe v
> findT _ Empty = Nothing
> findT v (Node val left right) =
> if val == v then
> Just val
> else if v < val then
> findT v left
> else
> findT v right
Your job is to add support for fmap to this tree, so that the call to fmap below works:
> main = print $ fmap (+1) (Node 3 (Node 1 Empty Empty) (Node 7 (Node 4 Empty Empty) Empty))