RosettaCodeData/Task/Parametric-polymorphism/Clean/parametric-polymorphism-1.c...

6 lines
181 B
Plaintext

::Tree a = Empty | Node a (Tree a) (Tree a)
mapTree :: (a -> b) (Tree a) -> (Tree b)
mapTree f Empty = Empty
mapTree f (Node x l r) = Node (f x) (mapTree f l) (mapTree f r)