[darcs-users] [patch106] resolve issue1208: trackdown --bisect (complete branch...

Ganesh Sittampalam bugs at darcs.net
Sun Dec 6 01:49:55 UTC 2009

Ganesh Sittampalam <ganesh at earth.li> added the comment:

The implementation of this looks pretty good to me - easy to read and minimally

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

assignedto:  -> ganesh
nosy: +ganesh
status: needs-review -> amend-requested

Darcs bug tracker <bugs at darcs.net>

More information about the darcs-users mailing list