
On Sun, 2008-06-01 at 12:49 -0400, Isaac Dupree wrote:
Neil Mitchell wrote:
Hi Krasimir,
What is the strong justification for adding this to the base library? Is there some particular reason that it can't be done outside of base, or is there some particular need that makes this code desirable in the base libraries? Could it be added as a separate library on hackage, worked on for a while, and then merged into the base latter if appropriate?
'containers', not 'base'. But still, I think it should stay in a separate package. Someday Data.Tree may be removed from the more-used containers too. (do we know who does use Data.Tree, btw?)
It's used ad-hoc in lots of programs whenever people want a rose-tree. It's convenient to have and as Ross says it's used in the public interface of Data.Graph. If anything I think it should be extended. For example where is the post-order flattening, the all-paths etc. There are useful operations defined for it in Data.Graph that should be moved to Data.Tree itself. Duncan