On Sun, 30 Aug 2009, Jason Dagit wrote:

On Sun, Aug 30, 2009 at 5:32 AM, Ganesh Sittampalam<[email protected]> wrote:
Mon Jul 27 07:02:03 BST 2009  Ganesh Sittampalam <[email protected]>
 * remove some derived classes from Tag
 This helps to make the representation more abstract

-    identity = TP (-1) identity
+    identity = TP (TG (-1)) identity

-patch_choices_tps ps = let tps = zipWithFL TP [1..] ps
+patch_choices_tps ps = let tps = zipWithFL TP (map TG [1..]) ps

I guess those were necessary because you removed the Enum instance?

And the Num instance.

This patch is border line churn to me, but I'm willing to trust
Ganesh's experience/wisdom that it makes the code better, even if I
don't (yet) understand why.

The real reason is actually that I also wrote the patch I attached to http://bugs.darcs.net/issue291 at the same time, but that second patch isn't appropriate to submit right away because nothing needs the extra functionality it provides until we have a proper patch splitting interface. So the justification for this refactoring in itself is that it's easier to check that it's behaviour preserving, it does improve the code in the sense that it reduces the surface area of a type that is exposed to other modules, and that there may well be a concrete use for it in future.

Cheers,

Ganesh
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to