Ganesh Sittampalam <[email protected]> added the comment:

I'm still not very happy with the PatchTree type. Why does it actually
need to have both FL and RL pieces? Also there's an invariant on the
representation which could be expressed in the constructor - either the
list of patches is of length 1 and the list of child trees is of length
0, or the list is of length >1 and the list of child trees is of length 2.

Also, why store a copy of the list of patches as well as the tree? You
can traverse either in the same amount of time, modulo a small and
almost certainly irrelevant constant factor.

Why not something like

data PatchTree p = Leaf p | Fork (PatchTree p) (PatchTree p)

Also, from reading the code it looks like it would report an internal
error if given an empty list of patches to bisect over.

__________________________________
Darcs bug tracker <[email protected]>
<http://bugs.darcs.net/patch106>
__________________________________
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to