List rooted trees: Difference between revisions

Content added Content deleted
m (→‎{{header|Haskell}}: (used foldTree))
Line 429: Line 429:


bracketsFromTree :: Tree a -> String
bracketsFromTree :: Tree a -> String
bracketsFromTree = foldNest (\xs -> '(' : (concat xs ++ ")"))
bracketsFromTree = foldTree (\_ xs -> '(' : (concat xs ++ ")"))

foldNest :: ([b] -> b) -> Tree a -> b
foldNest f =
let go (Node _ ts) = f (map go ts)
in go


main :: IO ()
main :: IO ()