more accountNameTreeFrom optimisation experiments, included for easier collaboration
This commit is contained in:
parent
6958d47329
commit
1a491e883a
@ -122,11 +122,21 @@ fromPaths = foldl' mergeTrees emptyTree . map pathtree
|
|||||||
-- fromPaths' :: (Ord a) => [[a]] -> Tree a
|
-- fromPaths' :: (Ord a) => [[a]] -> Tree a
|
||||||
-- fromPaths' = foldl' mergeTrees' emptyTree' . map pathtree'
|
-- fromPaths' = foldl' mergeTrees' emptyTree' . map pathtree'
|
||||||
|
|
||||||
converttree :: [AccountName] -> Tree' AccountName -> [Tree AccountName]
|
|
||||||
converttree parents (T m) = [Node (accountNameFromComponents $ parents ++ [a]) (converttree (parents++[a]) b) | (a,b) <- M.toList m]
|
-- converttree :: [AccountName] -> Tree' AccountName -> [Tree AccountName]
|
||||||
|
-- converttree parents (T m) = [Node (accountNameFromComponents $ parents ++ [a]) (converttree (parents++[a]) b) | (a,b) <- M.toList m]
|
||||||
|
|
||||||
|
-- accountNameTreeFrom4 :: [AccountName] -> Tree AccountName
|
||||||
|
-- accountNameTreeFrom4 accts = Node "top" (converttree [] $ fromPaths $ map accountNameComponents accts)
|
||||||
|
|
||||||
|
converttree :: Tree' AccountName -> [Tree AccountName]
|
||||||
|
converttree (T m) = [Node a (converttree b) | (a,b) <- M.toList m]
|
||||||
|
|
||||||
|
expandTreeNames :: Tree AccountName -> Tree AccountName
|
||||||
|
expandTreeNames (Node x ts) = Node x (map (treemap (\n -> accountNameFromComponents [x,n]) . expandTreeNames) ts)
|
||||||
|
|
||||||
accountNameTreeFrom4 :: [AccountName] -> Tree AccountName
|
accountNameTreeFrom4 :: [AccountName] -> Tree AccountName
|
||||||
accountNameTreeFrom4 accts = Node "top" (converttree [] $ fromPaths $ map accountNameComponents accts)
|
accountNameTreeFrom4 = Node "top" . map expandTreeNames . converttree . fromPaths . map accountNameComponents
|
||||||
|
|
||||||
|
|
||||||
-- | Elide an account name to fit in the specified width.
|
-- | Elide an account name to fit in the specified width.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user