[darcs-users] [patch305] Resolve issue1892: Improve safety of makeBundle* and fix a couple of

Eric Kow bugs at darcs.net
Thu Aug 5 12:15:15 UTC 2010


Eric Kow <kowey at darcs.net> added the comment:

On Thu, Aug 05, 2010 at 11:50:24 +0000, Eric Kow wrote:
> > Thu Jul 15 11:38:42 CEST 2010  Petr Rockai <me at mornfall.net>
> >   * Resolve issue1892: Improve safety of makeBundle* and fix a couple of related bugs.

Got some feedback on IRC from Petr, so I'll apply this.

> QUESTION: So then there's the question of why we have to seal off the
> ending state of the common patches in fetchPatches.  Shouldn't we be
> able to keep track of the fact that the common end in the same place as
> the us/them patches begin?

>From http://irclog.perlgeek.de/darcs/2010-08-05#i_2667135

kowey: mornfall: a bit of patch305 went over my head
       could you explain why we need to seal off the ending state of common in
       fetchPatches?
       I think I understand that the unsafeCoerceEndP in makeBundle
       (Darcs.Commands.Pull) is just a straightforward consequence of the
       sealing off

...

mornfall: kowey: I think the answer here is that the :\/: has no start state,
          so the end state of the stuff before :\/: won't be very useful anyway.
          :\/: works as a seal for the start states IIUIC
          So I think that's why I sealed the endstate of common (since there's
          nothing to pair it up with...)

kowey: I think I still have trouble reading and interpreting
          data (a1 :\/: a2) C(x y) = FORALL(z) (a1 C(z x)) :\/: (a2 C(z y))
        I mean, even if we knock out the macros:
          data (a1 :\/: a2) cX cY = forall cZ . (a1 cZ cX) :\/: (a2 cZ cY)

[a few moments later]

kowey: oh ok, actually maybe I don't have any issue reading that
       so it's just
          (:\/:) :: forall cZ . a1 cZ cX -> a2 cZ cY -> (a1 :\/: a2) cX cY
       and like you're saying, no start state... that sound right?

mornfall: Yes.

• kowey buys it...

Eric

(I think I find GADT-style syntax less confusing than traditional because
 it involves me doing fewer substitutions in my head...)

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
For a faster response, please try +44 (0)1273 64 2905.

----------
title: Resolve issue1892: Improve safety of makeBundle* and fix a	couple of -> Resolve issue1892: Improve safety of makeBundle* and fix a couple of

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/patch305>
__________________________________


More information about the darcs-users mailing list