summaryrefslogtreecommitdiff
path: root/fp2/week2/mart/oldold/old/Map.icl
diff options
context:
space:
mode:
authorMart Lubbers2015-04-24 14:35:17 +0200
committerMart Lubbers2015-04-24 14:35:17 +0200
commita067356625105f50978443d3b0a0a5d8f6391184 (patch)
treed194d49f36232b8e5860ca557c75f11a3ac05afe /fp2/week2/mart/oldold/old/Map.icl
parentupdated practicum files (diff)
rare shit
Diffstat (limited to 'fp2/week2/mart/oldold/old/Map.icl')
-rw-r--r--fp2/week2/mart/oldold/old/Map.icl19
1 files changed, 19 insertions, 0 deletions
diff --git a/fp2/week2/mart/oldold/old/Map.icl b/fp2/week2/mart/oldold/old/Map.icl
new file mode 100644
index 0000000..d248c66
--- /dev/null
+++ b/fp2/week2/mart/oldold/old/Map.icl
@@ -0,0 +1,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)