module Algebra.VectorSpace where
import qualified Algebra.Module as Module
import qualified Algebra.Field as Field
import qualified Algebra.PrincipalIdealDomain as PID
import qualified Number.Ratio as Ratio
import qualified Prelude as P
class (Field.C a, Module.C a b) => C a b
instance C P.Float P.Float
instance C P.Double P.Double
instance (PID.C a) => C (Ratio.T a) (Ratio.T a)
instance (C a b0, C a b1) => C a (b0, b1)
instance (C a b0, C a b1, C a b2) => C a (b0, b1, b2)
instance (C a b) => C a [b]
instance (C a b) => C a (c -> b)