Safe Haskell | None |
---|
Modules are a generalization of vector spaces
Documentation
class (HasRing m, Abelian m, Group m) => Module m whereSource
Bug: The module classes have the constraint that r be of type Num. Technically, this should be a Ring. But creating a Ring class would be awkward because it would conflict with the Num class and require importing a different Prelude.
Module x => Module (HList (: * x ([] *))) | |
(Module x, Module (HList xs), ~ * (Ring (HList xs)) (Ring x)) => Module (HList (: * x xs)) | |
Num r => Module (L2 [r]) | |
(Num r, Ord a) => Module (FreeModule r a) | |
(Module model, SingI Nat n) => Module (Bagging' n seed model) | |
Module (container model) => Module (FreeHomTrainer' k container model) |
class (Module m, Fractional (Ring m)) => VectorSpace m whereSource
(Module m, Fractional (Ring m)) => VectorSpace m |