On Thu, 24 Dec 2009, Eric Kow wrote:

Eric Kow <[email protected]> added the comment:

On Sat, Dec 19, 2009 at 23:01:03 +0000, Ganesh Sittampalam wrote:

Really annoyingly, the replace patches here don't commute/merge with most
other replace patches, because they have '.'s in the regexp to support
the renaming of Darcs.Ordered -> Darcs.Witnesses.Ordered etc, and
replace patches with different regexps never commute.

So aside from the commute problems, one of the entries in our
GettingStarted guide (I think I wrote this after our experiences merging
in some replace patches) was

 Try to avoid using the tokens . and - in your darcs replace patches
 that affect Haskell files. The problem is that the . can affect code
 like lines.liftM

Now I don't really remember why this would be an issue in practice.

I suspect it's unlikely, because namespaces typically aren't also values that are used in compositions - in theory there might be data constructors Darcs and Ordered which would mean that Darcs.Ordered could mean that composition (though I forget precisely what the Haskell syntax actually defines in that situation).

In general I think Haskell is moving in the direction of requiring spaces around operators where they might otherwise be ambiguous with other syntax - e.g. this can happen with $ if you have Template Haskell enabled, as $foo is a splice, so you have to do $ foo instead if you want application. So as a general principle I think it should be a darcs coding standard to use spaces around the . operator.

Anyway, as for the commute problem, the Darcs manual suggests that as a
best practise, each project should standardise on its own set of tokens
to avoid the commute problem (or at least it used to).

Do we you think we should follow that advice and just darcs replace for
things we can do with (say) the default tokens?

Well, if I change them to hunk patches, then they'll commute badly with other patches that affect the same lines, but as things stand they commute badly with any other replace patch at all. I guess the former is preferable.

Cheers,

Ganesh
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to