darcs

Issue 1698 SelectChanges code needs to be refactored

Title SelectChanges code needs to be refactored
Priority wishlist Status given-up
Milestone Resolved in
Superseder Nosy List dagit, darcs-devel, dmitry.kurochkin, galbolle, kowey
Assigned To galbolle
Topics Devel

Created on 2009-11-20.22:36:33 by dagit, last changed 2017-07-30.23:49:07 by gh.

Messages
msg9436 (view) Author: dagit Date: 2009-11-20.22:36:29
SelectChanges is a very important part of the Darcs UI and part of what makes
darcs special.  The existing code is written in a style that:
1) is hard to understand;
2) is missing automated tests; and
3) includes an ad-hoc zipper implementation.

I propose that someone spend time refactoring this bit of code to address each
point above as this code is part of what makes Darcs special.  Several times
when people have wanted to change this code there has been a general lack of
confidence in understanding the existing code and how to change it.  I believe
this is a sign that the existing code should be improved for clarity and testing.

I'm not sure if we can pull in an existing list zipper because of our FLs and
RLs, so we may need to roll our own.  If we do this, we need to be sure to add
unit tests for the zipper functionality.  Hackage has a few zipper libraries
already.  Perhaps it would even make sense to separate Darcs.Ordered from the
darcs repo and create packages on hackage for Darcs.Ordered and any related
zipper modules.

Reading material for zippers can be found here:
http://en.wikibooks.org/wiki/Haskell/Zippers

Jason
msg10453 (view) Author: kowey Date: 2010-03-23.15:55:33
Florent has been working on this for some time now
History
Date User Action Args
2009-11-20 22:36:33dagitcreate
2009-11-22 11:30:24koweysettopic: + Devel
2010-03-23 15:55:36koweysetstatus: needs-implementation -> has-patch
assignedto: galbolle
messages: + msg10453
nosy: + galbolle, kowey
2017-07-30 23:49:07ghsetstatus: has-patch -> given-up