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 --- .../StdGameTree_en_StdRoseTree/StdRoseTree.dcl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 1415/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.dcl (limited to '1415/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.dcl') diff --git a/1415/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.dcl b/1415/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.dcl new file mode 100644 index 0000000..5d6609d --- /dev/null +++ b/1415/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.dcl @@ -0,0 +1,20 @@ +definition module StdRoseTree + +import StdClass + +/** This module defines rose trees. +*/ +:: RoseTree a = Node a [RoseTree a] +:: Children a :== a -> [a] +:: PruneDepth :== Int + +iteratetree :: !(Children a) a -> RoseTree a + +root :: !(RoseTree a) -> a +children :: !(RoseTree a) -> [RoseTree a] +depth :: !(RoseTree a) -> Int + +maptree :: (a -> b) !(RoseTree a) -> RoseTree b +prunetree :: !PruneDepth !(RoseTree a) -> RoseTree a +bonsai :: !(RoseTree a) -> RoseTree a | Eq a +paths :: !(RoseTree a) -> [[a]] -- cgit v1.2.3