module Numeric.Algebra.Space.Module
( Module,
)
where
import Data.Kind (Constraint, Type)
import Numeric.Algebra.Additive.AGroup (AGroup)
import Numeric.Algebra.Ring (Ring)
import Numeric.Algebra.Space.Semimodule (Semimodule)
type Module :: Type -> Type -> Constraint
class (AGroup m, Semimodule m r, Ring r) => Module m r | m -> r
instance (Ring r) => Module (r, r) r
instance (Ring r) => Module (r, r, r) r
instance (Ring r) => Module (r, r, r, r) r
instance (Ring r) => Module (r, r, r, r, r) r
instance (Ring r) => Module (r, r, r, r, r, r) r
instance (Ring r) => Module (r, r, r, r, r, r, r) r
instance (Ring r) => Module (r, r, r, r, r, r, r, r) r
instance (Ring r) => Module (r, r, r, r, r, r, r, r, r) r