1 > data Boolean = FF | TT
2 > data Pair a b = MkPair a b
3 > data LList alpha = Nill | Conss alpha (LList alpha)
4 > data Nat = Zero | Succ Nat
5 > data Tree x = Leaf x | Node (Tree x) (Tree x)
6 > data A a = MkA a (A a)
9 > map :: (a -> b) -> [a] -> [b]
10 > map f xs = case xs of
12 > (y:ys) -> (f y):(map f ys)
14 > map_ide :: [[a]] -> [[a]]
15 > map_ide = map (\x->x)
24 > idBool :: Boolean -> Boolean
27 > fun :: (a->b) -> a -> b