Manifolds Versions Save

Coordinate-free hypersurfaces as Haskell types

v0.3.0.0

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.

v0.2.2.0

8 years ago

v0.2.0.1

8 years ago

v0.1.6.3

8 years ago