aboutsummaryrefslogtreecommitdiff
path: root/examples/tc.hs
blob: c27c7365f792f240bcfdedc5cc2b055660c37186 (plain)
1
2
3
4
5
6
7
8
9
10
data Bool = False | True
data List a = Nil | Cons a (List a)

isNil :: List a -> Bool
isNil Nil = True
isNil (Cons _ _) = False

map :: (a -> b) -> List a -> List b
map _ Nil = Nil
map f (Cons x l) = Cons (f x) (map f l)