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/GenTree.icl | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 1415/files/practicum/GenTree.icl (limited to '1415/files/practicum/GenTree.icl') diff --git a/1415/files/practicum/GenTree.icl b/1415/files/practicum/GenTree.icl new file mode 100644 index 0000000..8fff381 --- /dev/null +++ b/1415/files/practicum/GenTree.icl @@ -0,0 +1,32 @@ +implementation module GenTree + +import StdEnv + +:: GenTree a b = Node a [GenTree a b] | Leaf b +:: Either a b = This a | That b + +root :: (GenTree a b) -> Either a b +root ... + +trees :: (GenTree a b) -> [GenTree a b] +trees ... + +isNodeMember :: a (GenTree a b) -> Bool | Eq a +isNodeMember ... + +isLeafMember :: b (GenTree a b) -> Bool | Eq b +isLeafMember ... + +allNodes :: (GenTree a b) -> [a] +allNodes ... + +allLeaves :: (GenTree a b) -> [b] +allLeaves ... + +allMembers :: (GenTree a a) -> [a] +allMembers ... + +map2 :: (a -> c,b -> d) (GenTree a b) -> GenTree c d +map2 ... + +Start = allLeaves (Node 5 [Node 3 [Node 6 [Leaf 42.42]],Leaf 3.14]) -- cgit v1.2.3