darcs

Patch 185 Some haddocks for Patch.Choices (and 14 more)

Title Some haddocks for Patch.Choices (and 14 more)
Superseder Nosy List dagit, darcs-users, galbolle, ganesh
Related Issues
Status accepted Assigned To ganesh
Milestone

Created on 2010-03-20.07:49:37 by galbolle, last changed 2011-05-10.22:36:09 by darcswatch. Tracked on DarcsWatch.

Files
File name Status Uploaded Type Edit Remove
some-haddocks-for-patch_choices.dpatch galbolle, 2010-03-20.13:52:20 text/x-darcs-patch
some-haddocks-for-patch_choices.dpatch galbolle, 2010-04-22.14:53:51 text/x-darcs-patch
some-haddocks-for-patch_choices.dpatch galbolle, 2010-05-02.17:14:21 text/x-darcs-patch
unnamed dagit, 2010-03-20.17:45:36 text/html
unnamed galbolle, 2010-04-22.14:53:51 text/plain
unnamed galbolle, 2010-05-02.17:14:21
See mailing list archives for discussion on individual patches.
Messages
msg10306 (view) Author: galbolle Date: 2010-03-20.07:49:36
These patches aim at making SelectChanges and Patch.Choices nicer.

14 patches for repository http://darcs.net:

Thu Feb 18 17:45:16 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add a witnessed zipper type

Mon Feb 15 16:13:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Refactor Darcs.Commands.Pull

Fri Mar 19 14:31:33 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Commands.Pull

Wed Feb 17 16:05:22 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Simplify SelectChanges' interface and non-interactive part

SelectChanges is no longer in cps style.

Fri Mar 19 14:59:13 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in AmendRecord.lhs

Thu Feb 18 11:55:00 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add the --reverse option to all patch-selecting commands

Cool for cherry picking: send --reverse allows you to pick the patch you're
most proud of, and darcs figures out the dependencies (likewise with pull
--reverse for the shiny new patch you want most)

Fri Mar 19 15:30:05 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Record.lhs

Thu Feb 18 17:45:20 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * monadify interactive patch selection

hopefully makes it a bit clearer

Fri Nov 20 22:24:10 CET 2009  Florent Becker <florent.becker@ens-lyon.org>
  * Some haddocks for Patch.Choices

Wed Mar 17 15:10:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Change representation of PatchChoices

This dramatically improve the performance of hitting 'n' in interactive
selection. For instance, echo nnnnnnnnnnnnd | darcs unpull on the darcs
darcs repository goes from 40+ minutes to 0.1 seconds.

Fri Mar 19 15:37:38 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in SelectChanges

Fri Mar 19 15:46:52 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix conflicts in SelectChanges

Fri Mar 19 16:11:42 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix patch counting in interactive selection

Sat Mar 20 08:35:39 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Clean up the new version of Patch.Choices
Attachments
msg10316 (view) Author: galbolle Date: 2010-03-20.13:52:20
15 patches for repository http://darcs.net:

Fri Nov 20 22:24:10 CET 2009  Florent Becker <florent.becker@ens-lyon.org>
  * Some haddocks for Patch.Choices

Thu Feb 18 17:45:16 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add a witnessed zipper type

Mon Feb 15 16:13:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Refactor Darcs.Commands.Pull

Fri Mar 19 14:31:33 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Commands.Pull

Wed Feb 17 16:05:22 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Simplify SelectChanges' interface and non-interactive part

Fri Mar 19 14:59:13 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in AmendRecord.lhs

Thu Feb 18 11:55:00 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add the --reverse option to all patch-selecting commands

Fri Mar 19 15:30:05 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Record.lhs

Thu Feb 18 17:45:20 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * monadify interactive patch selection

Fri Mar 19 15:37:38 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in SelectChanges

Wed Mar 17 15:10:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Change representation of PatchChoices

Fri Mar 19 15:46:52 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix conflicts in SelectChanges

Fri Mar 19 16:11:42 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix patch counting in interactive selection

Sat Mar 20 08:35:39 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Clean up the new version of Patch.Choices

Sat Mar 20 14:52:43 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Fix representation of patches in darcs revert's interactive selection
Attachments
msg10334 (view) Author: dagit Date: 2010-03-20.17:45:36
Florent,

Thanks!  This is a really cool patch set.  I've wanted a witnessed zipper
for a long time!

One question (I don't have time right now to review the whole thing):

+clowns :: FZipper a C(x y) -> Sealed ((RL a) C(x))
+clowns (FZipper l _) = Sealed l
+
+jokers :: FZipper a C(x y) -> FlippedSeal (FL a) C(y)
+jokers (FZipper _ r) = FlippedSeal r

Why clowns and jokers?  It looks like it gives you either the left or right
side of the zipper, but your terminology is not one I'm familiar with.  Is
there a story behind the names?

Thanks,
Jason
PS I'm doing the "this is so cool dance"
Attachments
msg10336 (view) Author: ganesh Date: 2010-03-20.21:58:19
On Sat, 20 Mar 2010, Jason Dagit wrote:

> Thanks!  This is a really cool patch set.  I've wanted a witnessed zipper
> for a long time!

BTW, this is only a list zipper, not a tree zipper, so it's not as cool as 
you might hope :-)

> One question (I don't have time right now to review the whole thing):
>
> +clowns :: FZipper a C(x y) -> Sealed ((RL a) C(x))
> +clowns (FZipper l _) = Sealed l
> +
> +jokers :: FZipper a C(x y) -> FlippedSeal (FL a) C(y)
> +jokers (FZipper _ r) = FlippedSeal r
>
> Why clowns and jokers?  It looks like it gives you either the left or right
> side of the zipper, but your terminology is not one I'm familiar with.  Is
> there a story behind the names?

google for "stuck in the middle with you lyrics" (or read the start of 
Conor McBride's paper)

Ganesh
msg10473 (view) Author: ganesh Date: 2010-03-23.22:40:42
Status update: I've looked at this a bit and it looks generally fine. Am 
waiting for Florent to produce darcs diff --interactive before I do a 
detailed review ;-)
msg10792 (view) Author: galbolle Date: 2010-04-22.14:53:51
The last patch makes ghc 6.12 complain about deprecated syntax. We can either live with that, or have witnesses only build in 6.12, and non-witnesses building on both using
#ifndef GADT_WITNESSES
data PatchChoices p = {firsts :: FL (TaggedPatch p), …
#else
 PatchChoices p C(x y) where
	  PCs :: { firsts :: FL (TaggedPatch p) C(x m)
	         , lasts :: FL (PatchChoice p) C(m y)} -> PatchChoices p C(x y)
#endif

I'm not sure what's best.

17 patches for repository http://darcs.net:

Fri Nov 20 22:24:10 CET 2009  Florent Becker <florent.becker@ens-lyon.org>
  * Some haddocks for Patch.Choices

Thu Feb 18 17:45:16 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add a witnessed zipper type

Mon Feb 15 16:13:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Refactor Darcs.Commands.Pull

Fri Mar 19 14:31:33 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Commands.Pull

Thu Apr 22 13:34:03 CEST 2010  Florent Becker <florent.becker@ens-lyon.org>
  * export the right list of patches when not pulling anything

Wed Feb 17 16:05:22 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Simplify SelectChanges' interface and non-interactive part

Fri Mar 19 14:59:13 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in AmendRecord.lhs

Thu Feb 18 11:55:00 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add the --reverse option to all patch-selecting commands

Fri Mar 19 15:30:05 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Record.lhs

Thu Feb 18 17:45:20 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * monadify interactive patch selection

Fri Mar 19 15:37:38 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in SelectChanges

Wed Mar 17 15:10:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Change representation of PatchChoices

Fri Mar 19 15:46:52 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix conflicts in SelectChanges

Fri Mar 19 16:11:42 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix patch counting in interactive selection

Sat Mar 20 08:35:39 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Clean up the new version of Patch.Choices

Sat Mar 20 14:52:43 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Fix representation of patches in darcs revert's interactive selection

Thu Apr 22 15:27:42 CEST 2010  Florent Becker <florent.becker@ens-lyon.org>
  * make the new Patch.Choices compile in ghc6.10
Attachments
msg10805 (view) Author: ganesh Date: 2010-04-24.18:19:43
I've applied the pull refactoring patches that were shared with patch39 
(including the definePatches fix). Is it ok to apply the rest in logical 
chunks as I review them?

Some comments on the select changes refactor:

> Fri Mar 19 13:59:13 GMT 2010  Florent Becker <florent.becker@ens-
lyon.org>
>   * resolve conflicts in AmendRecord.lhs
> 
> Wed Feb 17 15:05:22 GMT 2010  Florent Becker <florent.becker@ens-
lyon.org>
>   * Simplify SelectChanges' interface and non-interactive part

There are some unhelpful variable name changes - e.g. jobname -> jn in 
helpFor, opts -> o in with_selected_patchfrom_repo. Might be worth 
restoring the old names in a followup.

shouldn't invertC be an instance of Invert a, Invert b => Invert (a :> 
b) ? Again might be nice for a followup.

I understand from our IRC conversation that some of the changes are 
adding support for more combinations of options to support --reverse.
msg10884 (view) Author: ganesh Date: 2010-05-01.19:48:36
> Wed Mar 17 14:10:11 GMT 2010  Florent Becker <florent.becker@ens-
lyon.org
>
>   * Change representation of PatchChoices

There's a TODO left in the substitute function after this patch (and not 
removed by any other patches).  Not sure what it's actually for :-)

Other than that this looks fine - just send a followup resolving or 
removing the TODO.
msg10901 (view) Author: galbolle Date: 2010-05-02.17:14:21
15 patches for repository http://darcs.net:

Fri Nov 20 22:24:10 CET 2009  Florent Becker <florent.becker@ens-lyon.org>
  * Some haddocks for Patch.Choices

Thu Feb 18 17:45:16 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add a witnessed zipper type

Wed Feb 17 16:05:22 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Simplify SelectChanges' interface and non-interactive part

Fri Mar 19 14:59:13 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in AmendRecord.lhs

Thu Feb 18 11:55:00 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * add the --reverse option to all patch-selecting commands

Fri Mar 19 15:30:05 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Resolve conflicts in Record.lhs

Thu Feb 18 17:45:20 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * monadify interactive patch selection

Fri Mar 19 15:37:38 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * resolve conflicts in SelectChanges

Wed Mar 17 15:10:11 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Change representation of PatchChoices

Fri Mar 19 15:46:52 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix conflicts in SelectChanges

Fri Mar 19 16:11:42 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * fix patch counting in interactive selection

Sat Mar 20 08:35:39 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Clean up the new version of Patch.Choices

Sat Mar 20 14:52:43 CET 2010  Florent Becker <florent.becker@ens-lyon.org>
  * Fix representation of patches in darcs revert's interactive selection

Thu Apr 22 15:27:42 CEST 2010  Florent Becker <florent.becker@ens-lyon.org>
  * make the new Patch.Choices compile in ghc6.10

Sun May  2 19:16:36 CEST 2010  Florent Becker <florent.becker@ens-lyon.org>
  * remove spurious todo in Choices.hs

The todo really was done.
Attachments
msg10920 (view) Author: darcswatch Date: 2010-05-04.11:05:50
This patch bundle (with 14 patches) was just applied to the repository http://darcs.net/.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-8457271e4426be6469d7afee9b63dea79e03aabb
msg10921 (view) Author: darcswatch Date: 2010-05-04.11:06:00
This patch bundle (with 15 patches) was just applied to the repository http://darcs.net/.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-719baecb5918ded2c02cb43933dd658b618fa26d
msg10922 (view) Author: darcswatch Date: 2010-05-04.11:06:00
This patch bundle (with 17 patches) was just applied to the repository http://darcs.net/.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-044aedcadd2c6529c56dbeb94d49def844b0a342
msg10923 (view) Author: darcswatch Date: 2010-05-04.11:06:02
This patch bundle (with 15 patches) was just applied to the repository http://darcs.net/.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-49e4775c8343161bef8c12b65f5160ca5c3f5aa6
msg14035 (view) Author: darcswatch Date: 2011-05-10.17:15:59
This patch bundle (with 14 patches) was just applied to the repository http://darcs.net/reviewed.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_reviewed.html#bundle-8457271e4426be6469d7afee9b63dea79e03aabb
msg14261 (view) Author: darcswatch Date: 2011-05-10.20:06:53
This patch bundle (with 15 patches) was just applied to the repository http://darcs.net/reviewed.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_reviewed.html#bundle-49e4775c8343161bef8c12b65f5160ca5c3f5aa6
msg14403 (view) Author: darcswatch Date: 2011-05-10.22:07:35
This patch bundle (with 15 patches) was just applied to the repository http://darcs.net/reviewed.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_reviewed.html#bundle-719baecb5918ded2c02cb43933dd658b618fa26d
msg14427 (view) Author: darcswatch Date: 2011-05-10.22:36:09
This patch bundle (with 17 patches) was just applied to the repository http://darcs.net/reviewed.
This message was brought to you by DarcsWatch
http://darcswatch.nomeata.de/repo_http:__darcs.net_reviewed.html#bundle-044aedcadd2c6529c56dbeb94d49def844b0a342
History
Date User Action Args
2010-03-20 07:49:37galbollecreate
2010-03-20 09:53:20ganeshsetstatus: needs-review -> review-in-progress
nosy: + ganesh
assignedto: ganesh
2010-03-20 13:52:21galbollesetfiles: + some-haddocks-for-patch_choices.dpatch, unnamed
messages: + msg10316
title: add a witnessed zipper type (and 13 more) -> Some haddocks for Patch.Choices (and 14 more)
2010-03-20 14:05:52ganeshsetfiles: - add-a-witnessed-zipper-type.dpatch
2010-03-20 14:06:20ganeshsetfiles: - unnamed
2010-03-20 14:06:25ganeshsetfiles: - unnamed
2010-03-20 17:25:55darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-8457271e4426be6469d7afee9b63dea79e03aabb
2010-03-20 17:26:01darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-8457271e4426be6469d7afee9b63dea79e03aabb -> http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-719baecb5918ded2c02cb43933dd658b618fa26d
2010-03-20 17:45:38dagitsetfiles: + unnamed
nosy: + dagit
messages: + msg10334
title: Some haddocks for Patch.Choices (and 14 more) -> add a witnessed zipper type (and 13 more)
2010-03-20 21:58:20ganeshsetmessages: + msg10336
2010-03-23 22:40:42ganeshsetmessages: + msg10473
2010-04-22 14:53:51galbollesetfiles: + some-haddocks-for-patch_choices.dpatch, unnamed
messages: + msg10792
title: add a witnessed zipper type (and 13 more) -> Some haddocks for Patch.Choices (and 16 more)
2010-04-22 14:57:29darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-719baecb5918ded2c02cb43933dd658b618fa26d -> http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-044aedcadd2c6529c56dbeb94d49def844b0a342
2010-04-24 18:19:43ganeshsetmessages: + msg10805
2010-05-01 19:48:36ganeshsetmessages: + msg10884
2010-05-02 17:14:21galbollesetfiles: + some-haddocks-for-patch_choices.dpatch, unnamed
messages: + msg10901
title: Some haddocks for Patch.Choices (and 16 more) -> Some haddocks for Patch.Choices (and 14 more)
2010-05-02 17:17:03darcswatchsetdarcswatchurl: http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-044aedcadd2c6529c56dbeb94d49def844b0a342 -> http://darcswatch.nomeata.de/repo_http:__darcs.net_.html#bundle-49e4775c8343161bef8c12b65f5160ca5c3f5aa6
2010-05-04 10:36:31ganeshsetstatus: review-in-progress -> accepted-pending-tests
2010-05-04 11:05:50darcswatchsetstatus: accepted-pending-tests -> accepted
messages: + msg10920
2010-05-04 11:06:00darcswatchsetmessages: + msg10921
2010-05-04 11:06:00darcswatchsetmessages: + msg10922
2010-05-04 11:06:02darcswatchsetmessages: + msg10923
2011-05-10 17:16:00darcswatchsetmessages: + msg14035
2011-05-10 20:06:53darcswatchsetmessages: + msg14261
2011-05-10 22:07:35darcswatchsetmessages: + msg14403
2011-05-10 22:36:09darcswatchsetmessages: + msg14427