<br><br><div class="gmail_quote">On Sun, Sep 27, 2009 at 7:50 AM, Ganesh Sittampalam <span dir="ltr"><<a href="mailto:ganesh@earth.li">ganesh@earth.li</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Thu, 17 Sep 2009, Petr Rockai wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm running out of time, I'll look at the rest later (hopefully tomorrow, or over the weekend).<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
[add witnesses to Darcs.Commands.Diff<br>
[add witnesses to Darcs.Commands.Remove<br>
[add witnesses to Darcs.Commands.TrackDown<br>
[add witnesses to Darcs.Commands.Pull<br>
[add witnesses to Darcs.Commands.Apply<br>
[add witnesses to Darcs.Commands.Push<br>
[need RankNTypes for some of the newly witnessed modules<br>
[add newly-witnessed modules to witnesses.hs<br>
</blockquote></blockquote>
<br></div>
Could someone look at these patches soon please? I think they're quite simple but not having them applied is a bit of a pain for other work I want to submit.<br></blockquote><div><br>Hi Ganesh!<br><br>Sorry for not looking at these sooner. I lost them (both mentally and in my inbox).<br>
<br>Looking now.<br><br>[add witnesses to Darcs.Commands.Diff]<br><br>Looks good.<br><br>[add witnesses to Darcs.Commands.Remove]<br><br>I want to understand make_remove_patch better:<br>+make_remove_patch :: RepoPatch p => Repository p C(r u t) -> [SubPath] -> IO (FL Prim C(x x))<br>
<br>So the remove patch which is created takes the repository from some context x to the same context? So the patch sequence it returns has the overall effect of identity? Also, why is that sequence unrelated to the repository's state? Should the type be something like:<br>
+make_remove_patch :: RepoPatch p => Repository p C(r u t) -> [SubPath] -> IO (Sealed (FL Prim C(r)))<br><br>Which would say that the remove patch starts at the recorded state and ends in some new state.<br><br>Digging into the patch bundle I sent way back when to accomplish a similar goal, I see that I gave it this signature:<br>
+make_remove_patch :: RepoPatch p => Repository p C(r u t) -> [SubPath] -> IO ((FL Prim) C(u y))<br><br>I'm not saying my version is correct, but it seems there may be more than one way to do this. Ah ha, digging deeper into the patches I submitted I later changed it to this version:<br>
+make_remove_patch :: RepoPatch p => Repository p C(r u t) -> [SubPath] -> IO (Sealed ((FL Prim) C(u)))<br><br>If you'd like to reference my patch bundle the link is here:<br><a href="http://lists.osuosl.org/pipermail/darcs-users/attachments/20080908/1b594482/attachment-0001.bin">http://lists.osuosl.org/pipermail/darcs-users/attachments/20080908/1b594482/attachment-0001.bin</a><br>
<br>Which is part of this thread:<br><a href="http://lists.osuosl.org/pipermail/darcs-users/2008-September/013638.html">http://lists.osuosl.org/pipermail/darcs-users/2008-September/013638.html</a><br><br>Moving on.<br><br>
[add witnesses to Darcs.Commands.TrackDown]<br><br>Looks good.<br><br>[add witnesses to Darcs.Commands.Pull]<br><br>Looks good.<br><br>[add witnesses to Darcs.Commands.Apply]<br><br>Looks good.<br><br>[add witnesses to Darcs.Commands.Push]<br>
<br>Looks odd, but if it fixes a compile error then I'm okay with it.<br><br>[add witnesses to Darcs.Commands.Send]<br><br>Looks okay.<br><br>[need RankNTypes for some of the newly witnessed modules]<br><br>This looks just like a patch I recently sent to Petr for darcs-hs. In other words, it's good.<br>
<br>[add newly-witnessed modules to witnesses.hs]<br><br>Depends on previous patches here.<br><br>If you amend [add witnesses to Darcs.Commands.Remove], then I say we can push the whole thing.<br><br>Thanks!<br>Jason<br><br>
</div></div>