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.dcl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 1415/files/practicum/GenTree.dcl (limited to '1415/files/practicum/GenTree.dcl') diff --git a/1415/files/practicum/GenTree.dcl b/1415/files/practicum/GenTree.dcl new file mode 100644 index 0000000..a18a272 --- /dev/null +++ b/1415/files/practicum/GenTree.dcl @@ -0,0 +1,18 @@ +definition module GenTree + +import StdClass + +:: GenTree a b = Node a [GenTree a b] | Leaf b + +:: Either a b = This a | That b + +root :: (GenTree a b) -> Either a b +trees :: (GenTree a b) -> [GenTree a b] + +isNodeMember :: a (GenTree a b) -> Bool | Eq a +isLeafMember :: b (GenTree a b) -> Bool | Eq b +allNodes :: (GenTree a b) -> [a] +allLeaves :: (GenTree a b) -> [b] +allMembers :: (GenTree a a) -> [a] + +map2 :: (a -> c,b -> d) (GenTree a b) -> GenTree c d -- cgit v1.2.3