On Thu, Jun 14, 2007 at 06:38:10AM +0200, Eric Y. Kow wrote:
> On Wed, Jun 13, 2007 at 13:06:07 -0700, David Roundy wrote:
> > Yeah, that's the plan.  As long as it works fine without
> > --with-type-witnesses, the plan is that we'll convert modules to use type
> > witnesses one at a time.
> 
> Ok. I'm happy with that.
> 
> > And converting *all* of darcs is not currently on our timetable.
> 
> Nod.
> 
> You might want to convert those tests (Darcs.Patch.Test) earlier than
> later just to help ensure that you didn't inadvertently break anything
> in transforming ',' to ':<' and ':' to ':>:'.  Well, I guess it's not
> terribly likely, but it may not be that large an investment anyway.

The trouble is that the tests are buggy, and it's very hard to make them
non-buggy.  It's just very hard to create a valid sequence of patches.  :(
I did put a lot of effort into doing so, but replace patches, for instance,
are not properly supported by the quickcheck interface.

> > > I should read (p1 :< p2) as p1 before p2, right?
> > 
> > No, that would mean p1 after p2.  Do you find the arrow more intuitive the
> > other direction?  
> 
> Well, there is an immediate temptation to treat the '<' as anything that
> sounds like 'less than' or 'before'... but you might have your own
> notational constraints, so I won't advocate either way.

I think of the < as an arrow for time... but I could see how it you thought
of it as a 'less than' it'd make sense the other way.

> > > Also, I wonder if we want
> > >  :<  and
> > >  :>: to be different directions...
> > 
> > The idea is that (p2 :< p1) means p1 before p2 (notice that I changed their
> > order) and that (p1 :>: ps) means p1 before ps.
> 
> > We'd rather move over to using :>, as in (p1 :> p2), but that would involve
> 
> Oh! Yes, it would be nice when that's uniform (but as you say, only when
> the the safety is in place).  Does that mean that you will eventually
> do away with having both directions and just flip the order of the
> arguments?

We'll still need both FL and RL, since many algorithms require a list in
reversed order, but for pairs we'd only have :>.  And we might decide that
reversing the arguments to cons for the RL is best, something like a
forward list is constructed with :>:: and a reverse list by ::>:, where the
double-colon side indicates the "list" argument and the single-colon side
the "singleton" argument.
-- 
David Roundy
http://www.darcs.net

Attachment: signature.asc
Description: Digital signature

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

Reply via email to