Permalink
Browse files

add README.markdown

  • Loading branch information...
1 parent 8f2e052 commit 1ac6ca030167c92eb197b0f3411732130c0a7060 Brent Yorgey committed Sep 28, 2012
Showing with 20 additions and 0 deletions.
  1. +20 −0 README.markdown
View
@@ -0,0 +1,20 @@
+[![Build Status](https://secure.travis-ci.org/diagrams/dual-tree.png)](http://travis-ci.org/diagrams/dual-tree)
+
+Rose (n-ary) trees with both upwards- (*i.e.* cached) and
+downwards-traveling (*i.e.* accumulating) monoidal annotations. This
+is used as the core data structure underlying the
+[diagrams framework](http://projects.haskell.org/diagrams), but
+potentially has other applications as well.
+
+Abstractly, a `DUALTree` is a rose (n-ary) tree with data of one type
+at leaves, data of another type at internal nodes, and two types of
+monoidal annotations, one travelling "up" the tree and
+one traveling "down".
+
+For a bit of background and motivation, see the paper
+
+[Brent Yorgey. *Monoids: Theme and Variations*.](http://www.cis.upenn.edu/~byorgey/pub/monoid-pearl.pdf) Haskell Symposium, 2012.
+
+To install,
+
+ cabal install dual-tree

0 comments on commit 1ac6ca0

Please sign in to comment.