[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