manifold-random v0.3.0.0 Release Notes
Release Date: 2016-09-30 // over 7 years ago-
๐ฆ http://hackage.haskell.org/package/manifolds-0.3.0.0
๐ This release is a major implementation change: we got rid of hmatrix, in favour of the new linearmap-category package, which implements all the necessary linear algebra fundamentals in native Haskell.
๐ฆ A major motivation for this step was the doubtful reliability of
hmatrix
(bindings to the GSL library in C) in a multithreaded context โ we were experiencing deadlocks in the multithreaded dynamic-plot visualiser.๐ฆ While it turns out that this point was probably unjustified โ the deadlocks still appeared after the switch; the culprit was probably gtk2hs in connection with async (now fixed by a different multithreading strategy) โ it also has other benefits, as we now have a proper well-typed interface all the way down instead of basing every local operation on ugly dynamically-sized matrices.
๐ The switch also improves performance somewhat, probably mainly because we don't need all that C-marshalled memory and because we don't need to convert between Haskell-native data and hmatrix data. Though
linearmap-category
isn't really optimised yet, there may be potential for much faster speeds still.