From a7d7542dc646a5fd124ef71e71ce260889f1701b Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 2 Feb 2016 19:24:50 +0100 Subject: Moved to 1415 directory --- 1415/files/practicum/Map.icl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 1415/files/practicum/Map.icl (limited to '1415/files/practicum/Map.icl') diff --git a/1415/files/practicum/Map.icl b/1415/files/practicum/Map.icl new file mode 100644 index 0000000..deccc07 --- /dev/null +++ b/1415/files/practicum/Map.icl @@ -0,0 +1,21 @@ +implementation module Map + +import BinTree // voor het type Tree en voorbeelden t0 t/m t7 +import Maybe // voor het type Maybe +import StdList // voor de standaard map functie + +class Map c :: ... // maak deze type constructor class af + +instance Map [] where ... // maak deze instance af +instance Map Maybe where ... // maak deze instance af +instance Map Tree where ... // maak deze instance af + +// voorgegeven functie, specifiek voor Maybe: +mapMaybe :: (a -> b) (Maybe a) -> Maybe b +mapMaybe f Nothing = Nothing +mapMaybe f (Just x) = Just (f x) + +// voorgegeven functie, specifiek voor Tree: +mapTree :: (a -> b) (Tree a) -> Tree b +mapTree f Leaf = Leaf +mapTree f (Node x l r) = Node (f x) (mapTree f l) (mapTree f r) -- cgit v1.2.3