# Directed Acyclic Graphs with TreeView.jl

**URL:** <https://discourse.julialang.org/t/directed-acyclic-graphs-with-treeview-jl/1848>\
**Category:** Community\
**Tags:** announcement\
**Created:** [February 2, 2017, 6:42pm UTC](https://discourse.julialang.org/t/directed-acyclic-graphs-with-treeview-jl/1848 "2017-02-02T18:42:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 2, 2017, 6:42pm UTC](https://discourse.julialang.org/t/directed-acyclic-graphs-with-treeview-jl/1848/1 "2017-02-02T18:42:07Z")

</div>

The [`TreeView.jl` package](https://github.com/dpsanders/TreeView.jl) now has the ability to calculate so-called [**Directed Acyclic Graphs** (DAGs)](https://en.wikipedia.org/wiki/Directed_acyclic_graph) from a block of Julia code.

This is a higher-level representation of what the code is doing, in which common subexpressions are factored out, using the recently-published [`CommonSubexpressions.jl` package](https://github.com/rdeits/commonsubexpressions.jl).

An example may be found at the end of [this notebook](https://github.com/dpsanders/TreeView.jl/blob/master/examples/TreeView%20usage.ipynb).

Currently the only supported display format is still using `TikzGraphs.jl`, but Pull Requests are welcome to define plot recipes for the types defined by the package.
