Closed Mikolaj closed 1 year ago
Gentle ping? This is a minimal change and it would help a lot.
I wasn't aware of your library - looks pretty cool - I will try it out for a project I have ongoing where I just resorted to my own forward mode implementation (I couldn't get the types to work with ad and backdrop).
Did you want me to make a release on hackage?
Did you want me to make a release on hackage?
Thank you so much for merging. No rush; I've made do with some C hacks for now (and worked around in yet another way a year ago to stop maintaining a fork). I will yell once again when I need the internals on Hackage.
I wasn't aware of your library - looks pretty cool - I will try it out for a project I have ongoing where I just resorted to my own forward mode implementation (I couldn't get the types to work with ad and backdrop).
You are very welcome and please let me know how it goes and ask questions (perhaps even open a joint ticket in horde-ad repo for all your questions and requests you may have and to think aloud as you progress). It's a big bunch of WIP, but the exposed API is old enough and probably stable and performant enough, so this may work fine. Make sure to choose the flavour with strict type-level shape checking or one of the less typed ones, depending on your use case. There's quite a lot of flexibility there (and little documentation so far, so please ask).
Hi hi.
Before publishing, I would very strongly suggest changing the module hierarchy
Exposing:
Internal.Devel
is really not a great idea. If internal modules are to be exposed, it should be as
Numeric.LinearAlgebra.Internal.Devel
Here are instances of hmatrix classes for a newtype of Double made possible by this PR: https://github.com/Mikolaj/horde-ad/blob/01f5b467d1b0ccf9e8e4244e0837829f857a6807/src/HordeAd/Internal/HmatrixOrphanInstances.hs
They are tested and work fine. Making derivation of the instances easier and less susceptible to breakage when hmatrix changes would be very welcome, but just exposing internal modules is enough for me and I won't need to make a fork (which would be a horror to maintain, I'm sure).