> For plugin patches I think they would have to
> be defined in some declarative patch language from which darcs
> could deduce how to commute them.

It doesn't have to be fully declarative does it?  Haskell would do.

I imagine a patch type called "add patch type".  Patches of the "add patch
type" type contain Haskell code which implements all the necessary operations
to implement the new patch type.  They also contain the name of the new patch
type, some documentation string, and perhaps some hooks for the UI.

Now the problem is that some patches which are of some patch types are
irreversible, or otherwise they tend to not-commute too often.  That problem
can be worked-around by not pulling those patches, or even not pulling that
patch-type.  People would then be motivated to define new, better, more
freely commutable patch-types.

Regards,

Zooko

P.S.  Oh, does Haskell have a convenient "eval" function for Haskell code in
the absence of the Haskell compiler?  Uh-oh.

_______________________________________________
darcs-users mailing list
[email protected]
http://www.abridgegame.org/mailman/listinfo/darcs-users

Reply via email to