<br><br><div class="gmail_quote">On Sun, Sep 27, 2009 at 7:50 AM, Ganesh Sittampalam <span dir="ltr">&lt;<a href="mailto:ganesh@earth.li">ganesh@earth.li</a>&gt;</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&#39;m running out of time, I&#39;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&#39;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 =&gt; Repository p C(r u t) -&gt; [SubPath] -&gt; 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&#39;s state?  Should the type be something like:<br>
+make_remove_patch :: RepoPatch p =&gt; Repository p C(r u t) -&gt; [SubPath] -&gt; 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 =&gt; Repository p C(r u t) -&gt; [SubPath] -&gt; IO ((FL Prim) C(u y))<br><br>I&#39;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 =&gt; Repository p C(r u t) -&gt; [SubPath] -&gt; IO (Sealed ((FL Prim) C(u)))<br><br>If you&#39;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&#39;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&#39;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>