
I want to announce my first haskell project big/clean enough so I consider it possibly useful to others - accelerate-typelits is a library that provides vectors/matrices in a typesafe way - i.e. The dimension of the entities are stored on type level as (Nats). There is basic vector/matrix functionality, documentation and tests for those functions (mostly properties). If I have time I will provide some basic examples and a bit more complicated example within the next week. It is available on hackage https://hackage.haskell.org/package/accelerate-typelits as well as on github https://github.com/epsilonhalbe/accelerate-typelits. I would be happy to get some feedback. - Martin

Martin Heuschober
writes:
I want to announce my first haskell project big/clean enough so I consider it possibly useful to others - accelerate-typelits is a library that provides vectors/matrices in a typesafe way - i.e. The dimension of the entities are stored on type level as (Nats).
It is available on hackage https://hackage.haskell.org/package/accelerate-typelits as well as on github https://github.com/epsilonhalbe/accelerate-typelits.
I would be happy to get some feedback. - Martin Hi Martin How does this differ from Numeric.LinearAlgebra.Static? https://hackage.haskell.org/package/hmatrix-0.17.0.1/docs/ Numeric-LinearAlgebra-Static.html http://dis.um.es/~alberto/hmatrix/static.html I use this extensively e.g. here is an extended Kalman filter implementation: https://hackage.haskell.org/package/Kalman-0.1.0.1/docs/Kalman.html With this I get speed (BLAS) and safety :-) Dominic.

Martin Heuschober
I would be happy to get some feedback.
I should also have said that if you use HEAD of haddock, it now supports mathjax so you can document your library much more nicely. Of course you then have to upload your documentation yourself but I think it's worth the effort. You can see a small example of how to use mathjax here: https://hackage.haskell.org/package/Kalman-0.1.0.1/docs/Kalman.html Dominic.

Hi! I did not know about Numeric.LinearAlgebra.Static - otherwise I would have hesitated to release my project in this state. Essentially it does a subset of the functionality provided, but the backend is not BLAS but accelerate, so it's usage might be different (I do not know enough about BLAS to give a well founded opinion on that). @JohannesWaldman - Now that I have seen the Numeric.LinearAlgebra.Static - library I have to admit - yes my approach is way less clean, though in my defense I didn't know about the other project. @Dominic - thanks for the information on haddock head - I love mathjax and fine documentation, I will definitely use this in future work. - Martin

I should have said thank you for releasing it. On 20/05/2016 12:27, Martin Heuschober wrote:
Hi!
I did not know about Numeric.LinearAlgebra.Static - otherwise I would have hesitated to release my project in this state.
Essentially it does a subset of the functionality provided, but the backend is not BLAS but accelerate, so it's usage might be different (I do not know enough about BLAS to give a well founded opinion on that).
@JohannesWaldman - Now that I have seen the Numeric.LinearAlgebra.Static - library I have to admit - yes my approach is way less clean, though in my defense I didn't know about the other project.
@Dominic - thanks for the information on haddock head - I love mathjax and fine documentation, I will definitely use this in future work.
- Martin
participants (2)
-
Dominic Steinitz
-
Martin Heuschober