This package provides alternative numeric classes over Prelude.
The numeric class constellation looks somewhat like:
Usage
{-# LANGUAGE GHC2021 #-}
{-# LANGUAGE RebindableSyntax #-}
import NumHask.Prelude
See NumHask for a detailed overview.
Changes
0.11.0.0
TypeFamilies introduced replacing FunDep usage for QuotientField, AdditiveAction, MultiplicativeAction, Basis. Classes go from Multi-parameter to single.
EuclideanPair introduced as an intended DerivingVia support for 2 dimensional Basis & Direction instances.
Complex modified to use EuclideanPair. Underlying representation changed to tuple and (+:) constructor as a top-level function.
Action class operators changed from (.*) to (|*), and (*.) to (*|) etc.
Ring, Field, Distributive & Module become type synonyms (were classes).
Added Basis class replacing Norm & Signed
extra type synonyms added for Basis specialisations: Absolute, Sign, EndoBased.
abs becomes top-level function (previously method of Norm).
sign removed and replaced with signum, mirroring Num.
aboutEqual & nearZero moved outside Epsilon class definition.
rationalised Language pragmas around GHC2021
introduced QuotientField instance for Complex & EuclideanPair without Ord constraint.
0.10.0
Moved operators back in.
added doctests and properties
added accsum & accproduct
fixed Ratio Eq instance
0.9.0
Removed bounded classes.
Moved operators outside of class definitions where possible.