Numeric programming is a notoriously difficult topic. For number
crunching, e.g. solving systems of linear equations, we need raw
performance.
However, using floating-point numbers may lead to inaccurate results. On
top of that, as functional programmers, we’d really like to abstract
over concrete number types, which is where abstract algebra comes into play.
This interplay between abstract and concrete, and the fact that
everything needs to run on finite hardware, is what makes good library
support necessary for writing fast & correct programs.
Spire is such a library in the Typelevel Scala ecosystem. This talk will
be an introduction to Spire, showcasing the ‘number tower’, real-ish
numbers and how to obey the law.
https://www.meetup.com/Krakow-Scala-User-Group/events/258677272/