Ganesh Sittampalam <[email protected]> added the comment: The implementation of this looks pretty good to me - easy to read and minimally invasive.
Unfortunately, it breaks the type witnesses build, because it completely ignores them, specifically in this type and all the code surrounding it: > type PatchTree p = Tree (Either (FL p) (RL p)) I think the right solution is simply to use our own tree type that does respect witnesses - in particular the Forest constructor would use an FL rather than a [], and PatchTree itself would be something like this: type PatchTree p C(x y) = OurTree (OurEither (FL p) (RL p)) C(x y) Annoyingly we'd need our own Either type too because the kinds would be wrong otherwise. ---------- assignedto: -> ganesh nosy: +ganesh status: needs-review -> amend-requested __________________________________ Darcs bug tracker <[email protected]> <http://bugs.darcs.net/patch106> __________________________________ _______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
