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.icl | 38 ---------------------- 1 file changed, 38 deletions(-) delete mode 100644 files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.icl (limited to 'files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.icl') diff --git a/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.icl b/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.icl deleted file mode 100644 index ddefbca..0000000 --- a/files/practicum/StdGameTree_en_StdRoseTree/StdRoseTree.icl +++ /dev/null @@ -1,38 +0,0 @@ -implementation module StdRoseTree - -/** This module defines rose trees. -*/ -import StdEnv - -root :: !(RoseTree a) -> a -root (Node r _) = r - -children :: !(RoseTree a) -> [RoseTree a] -children (Node _ ts) = ts - -depth :: !(RoseTree a) -> Int -depth (Node _ []) = 1 -depth (Node _ xs) = 1 + maxList (map depth xs) - -prunetree :: !PruneDepth !(RoseTree a) -> RoseTree a -prunetree d (Node x ts) -| d <= 1 = Node x [] -| otherwise = Node x (map (prunetree (d-1)) ts) - -bonsai :: !(RoseTree a) -> RoseTree a | Eq a -bonsai t = bonsai` [] t -where - bonsai` :: ![a] !(RoseTree a) -> RoseTree a | Eq a - bonsai` path (Node v ts) = Node v (filter (\t -> not (isMember (root t) [v:path])) - (map (bonsai` [v:path]) ts) - ) - -iteratetree :: !(Children a) a -> RoseTree a -iteratetree f s = Node s (map (iteratetree f) (f s)) - -maptree :: (a -> b) !(RoseTree a) -> RoseTree b -maptree f (Node x ts) = Node (f x) (map (maptree f) ts) - -paths :: !(RoseTree a) -> [[a]] -paths (Node x []) = [[x]] -paths (Node x ts) = [[x:path] \\ t <- ts, path <- paths t] -- cgit v1.2.3