Visualize a tree: Difference between revisions

Content added Content deleted
(→‎Functional composition: Python 3 pylint. Tidying)
(→‎{{header|Haskell}}: Added a version using Data.Tree `drawTree`)
Line 975: Line 975:
`-- (nil)
`-- (nil)
</pre>
</pre>


The '''Data.Tree''' module in the standard (GHC) libraries also includes a '''drawTree''' function for multiway (rose) trees of strings.
We can fmap show over our tree of integers to derive a tree of strings, and apply `drawTree` to that.

<lang haskell>import Data.Tree (Tree (..), drawTree)

tree :: Tree Int
tree =
Node
1
[ Node 1 [Node 4 [Node 7 []], Node 5 []]
, Node 3 [Node 6 [Node 8 [], Node 9 []]]
]

main :: IO ()
main = putStrLn $ drawTree (show <$> tree)</lang>
{{Out}}
<pre>1
|
+- 1
| |
| +- 4
| | |
| | `- 7
| |
| `- 5
|
`- 3
|
`- 6
|
+- 8
|
`- 9</pre>


=={{header|Icon}} and {{header|Unicon}}==
=={{header|Icon}} and {{header|Unicon}}==