darcs

Patch 1206 drop unnecessary UndecidableInstances (and 18 more)

Title drop unnecessary UndecidableInstances (and 18 more)
Superseder Nosy List ganesh
Related Issues
Status accepted Assigned To
Milestone

Created on 2014-10-27.22:41:35 by ganesh, last changed 2014-11-04.23:03:13 by ganesh.

Files
File name Status Uploaded Type Edit Remove
drop-unnecessary-undecidableinstances.dpatch ganesh, 2014-10-27.22:41:34 application/x-darcs-patch
patch-preview.txt ganesh, 2014-10-27.22:41:34 text/x-darcs-patch
unnamed ganesh, 2014-10-27.22:41:34
See mailing list archives for discussion on individual patches.
Messages
msg17725 (view) Author: ganesh Date: 2014-10-27.22:41:34
Fill in a missing part of rebase - allow the user to look at the
suspended patches.

19 patches for repository darcs-unstable@darcs.net:screened:

Tue Feb 26 07:28:49 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * drop unnecessary UndecidableInstances

Mon Feb 25 07:03:07 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * reduce dependencies for Named/PatchInfoAnd Patchy instances

Fri Oct 24 08:14:02 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * fix warning

Mon Feb 18 23:47:25 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * make getChangesInfo take a PatchFilter instead of a Repository

Thu Nov 28 07:05:54 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflicts (addition of diff algorithm and getChangesInfo refactoring)

Sun Dec  1 20:05:50 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflicts (getChangesInfo renaming and refactoring)

Tue Feb 19 00:50:14 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * make getChangesInfo take specific flags only

Fri Oct 24 18:18:39 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflict (getChangesInfo flag changes and renaming)

Thu Feb 21 07:21:22 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * introduce a new type class for patch matching
  The class has more requirements than Patchy, but fewer than RepoPatch.

Mon Mar 11 18:24:15 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * initial version of 'rebase changes' command

Sat Oct 25 17:00:30 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflicts

Tue Mar 12 07:05:43 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * abstract code for treating RebaseChange as a merge

Tue Mar 12 07:05:43 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * rebase changes: delegate listConflictedFiles etc instead of using default
  The default doesn't do the right thing with duplicates so V2 patches
  where the 'fixup' is the inverse of the 'toedit' patch aren't reported
  as conflicts.

Fri Mar 15 07:36:03 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * stop using custom Show instance on PatchInfo

Fri Mar 15 18:20:33 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * change/add various Show instances to ones that produce Haskell code
  
  The existing instances are only used for diagnostic output in the test
  harness.
  
  This change helps with using the instances in ghci for debugging and
  experimentation.
  
  The instances aren't always as trivial as deriving Show or the equivalent,
  because of constructors that aren't exposed or whose names are ambiguous,
  but that's the starting point.

Sat Oct 25 17:07:29 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflicts

Mon Mar 18 07:34:47 GMT 2013  Ganesh Sittampalam <ganesh@earth.li>
  * add a unit test for RebaseChange
  This also involves adding some infrastructure for rebase unit tests

Sat Oct 25 18:11:46 BST 2014  Ganesh Sittampalam <ganesh@earth.li>
  * resolve conflicts

Mon Oct 27 22:28:56 GMT 2014  Ganesh Sittampalam <ganesh@earth.li>
  * Make the rebase changes output more user-friendly
Attachments
msg17726 (view) Author: owst Date: 2014-10-27.23:30:56
I had a spare few minutes to look over this, and it looks good to me. 

The thing that strikes me is that the replacing of RepoPatch p with
(Patchy p, Namehack p) in "introduce a new type class for patch
matching" is "noisy" and introduces a fair bit of duplication - can we
give a name to a Patchy and NameHack thing? 

I don't really recall what Namehack is, other than some sort of
"layering" thing to do with rebase, so maybe naming Patch and Namehack
isn't appropriate.

Another note would be that we really could do with a typeclassopedia for
darcs - what the heck is a Patchy that isn't a RepoPatch, what is a
Patchy that isn't a Matchable, and so on :-) I know, I know, "go on
then, write it!" is the answer...
msg17727 (view) Author: ganesh Date: 2014-10-28.09:43:48
NameHack is indeed a hack, so I kind of prefer it being a bit "noisy" to give me/us 
some incentive to get rid of it. [That would involve moving the rebase patch into the 
repository properly, which in turn IMO requires repository code in better shape than 
currently]

Agree re typeclassopedia - I wonder if we can automatically extract something from the 
haddocks and the instances in the source code, to make it easier to keep up to date.
msg17745 (view) Author: ganesh Date: 2014-11-04.22:53:38
Accepting
History
Date User Action Args
2014-10-27 22:41:35ganeshcreate
2014-10-27 23:30:56owstsetmessages: + msg17726
2014-10-28 09:43:49ganeshsetstatus: needs-screening -> needs-review
messages: + msg17727
2014-11-04 22:53:38ganeshsetstatus: needs-review -> accepted-pending-tests
messages: + msg17745
2014-11-04 23:03:13ganeshsetstatus: accepted-pending-tests -> accepted