A somewhat tricky concern is that that the extra functionality in question depends on a bunch of primitive definitions that lie below this in the package and the AD engine is used by a layer on top.
 
So moving it out would introduce a circular dependency back into the package or require me to stratify into two packages.  When I looked into partitioning the package for another reason I found that I couldn't do so without introducing some orphan instances, so it'll probably be a tricky bit of surgery to split out. That said, it's probably still worth doing.
 
I also agree that I should be somewhat more pedantic about the name. =)
-Edward Kmett
 
On Fri, Apr 3, 2009 at 10:49 AM, Barak A. Pearlmutter <barak@cs.nuim.ie> wrote:
I feel silly, did not even notice that!  Thanks for the pointer.

Would be sensible to merge the functionalities; will try to import
functionality in Data.Ring.Module.AutomaticDifferentiation currently
missing from Numeric.FAD.

(One pedantic note: should really be named
Data.Ring.Module.AutomaticDifferentiation.Forward, since it is doing
forward-mode accumulation automatic differentiation; reverse is
an adjoint kettle of fish.)
--
Barak A. Pearlmutter
 Hamilton Institute & Dept Comp Sci, NUI Maynooth, Co. Kildare, Ireland