On Tue, Aug 12, 2008 at 7:33 AM, David Roundy <[EMAIL PROTECTED]> wrote:
> On Mon, Aug 11, 2008 at 01:59:56PM -0700, Jason Dagit wrote: > > David, > > > > I didn't forget about the other comments you had, like removing > dropWhile*, > > but did you have a chance to look this over? I've been assuming you like > > this version just fine and doing the rest of my work on top of it. So if > it > > still needs refinement it would be nice to know. > > Yeah, I think this is already applied. I must have forgotten to reply. Okay, thanks. You're so consistent about replying that I didn't even think to check if they had gone in. > > > > Also, the setTentativePending and prepend that I mentioned are not export > > from Internal and could be renamed unsafeSetTentativePending and > > unsafePrepend until we have a chance to make them safe. But, I think > they > > are a relatively small part of the overall process and can wait, at least > > for now. > > Right, and that is good. As long as they're not exported it's not > very serious. You're right that renaming them would be best (to > prevent someone from exporting them later), but it's definitely not > urgent. Alright, it's on my todo list. Just a heads up about src/Darcs/SelectChanges.lhs. I've found that making a "minimal" refactor of it is not a good way to go. We use a data type in there to determine what order the patches should be selected and manipulated in. We have 4 options, First, Last, FirstReveresed, LastReversed. At some points in the code that leads to 4 type signatures needed to express the relationship between the input and output types. Initially I started refactoring this using Either. After spending a day and a half on it I gave up on the Either approach. I think it lead to two main problems: 1) The Eithers started to nest and soon I had Either4. 2) The resulting code was just too complex to realisticaly maintain. How am I solving it now? Well, now any of the functions that special cased on those options now have their own version for each option. This leads to what looks like duplication, but each version is slighty different and simple to understand. Once I've got it working again we can consider eliminating the repetition some how, but it may not be possible in an easy to understand way. I'm not sure yet how wide the impact will be, but I think it will be 90% or more constrained to just the SelectChanges module. Thanks! Jason
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
