> Here's a function in the Cancellation module to determine which > patches are active, and make the inactive patches Cancelled.
I'm pushing this, but I've only gotten a basic gist of it, not looked very hard. > +cancel_patches :: FL Patch C(a b) -> Sealed (FL Patch) C(a) > +cancel_patches x = cancel_marked_patches $ mark_cancelled_patches > + $ mapFL_FL uncancel x This seems a bit confusing! Why would there be cancelled patches to mark if we've just uncancelled them? And then why bother cancelling the marked patches if they were already cancelled when we marked them? > +remove_from_sequence_unless_depended_upon > + :: Patch C(a b) -> FL Patch C(b c) -> Maybe (Sealed (FL Patch) C(a)) I think I understand this one: given a sequence p xs (i.e. p before xs), if p commutes past xs, then xs does not depend on it, so we can ignore p (however, we must return the commuted xs'). If it fails to commute we return Nothing. The 'removing' consists of ignoring p. That it, is it 'p' that we are trying to remove. -- Eric Kow http://www.loria.fr/~kow PGP Key ID: 08AC04F9 Merci de corriger mon français.
pgpqdOsG5D9Cm.pgp
Description: PGP signature
_______________________________________________ darcs-devel mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-devel
