diff --git a/src/Data/NumIdr/Scalar.idr b/src/Data/NumIdr/Scalar.idr index 2e34740..d4f9d42 100644 --- a/src/Data/NumIdr/Scalar.idr +++ b/src/Data/NumIdr/Scalar.idr @@ -8,7 +8,7 @@ import public Data.NumIdr.Array %default total ||| Scalars are `Array []`, the unique 0-rank array type. They hold a single value. -||| Scalars are not particularly useful as container types, but they are +||| Scalars are not particularly useful as data structures, but they are ||| included here anyways. public export Scalar : Type -> Type @@ -29,3 +29,11 @@ unwrap = index 0 . getPrim export Num a => Mult (Scalar a) (Scalar a) (Scalar a) where (*.) = (*) + +export +Num a => MultMonoid (Scalar a) where + identity = scalar 1 + +export +Fractional a => MultGroup (Scalar a) where + inverse = recip