summaryrefslogtreecommitdiff
path: root/fp2/week2/mart/oldold/old/Map.icl
blob: d248c66869189f4a2eab7e3b5408378190f4eb70 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
implementation module Map

//import BinTree
import StdMaybe
import StdList

class Map c :: (a -> b) (c a) -> c b

instance Map [] where 
	Map f [] = []
	Map f [x:xs] = [f x: Map f xs]

instance Map Maybe where
	Map f Nothing = Nothing
	Map f (Just x) = Just (f x)

//instance Map Tree  where
//	Map f Leaf = Leaf
//	Map f (Node x l r) = Node (f x) (mapTree f l) (mapTree f r)