numeric-prelude-0.0.2: src/Algebra/VectorSpace.hs
{-# OPTIONS -fno-implicit-prelude -fglasgow-exts #-}
module Algebra.VectorSpace where
import qualified Algebra.Module
import qualified Algebra.Field as Field
-- import NumericPrelude
import qualified Prelude as P
class (Field.C a, Algebra.Module.C a b) => C a b
{-* Instances for atomic types -}
instance C P.Float P.Float
instance C P.Double P.Double
{-* Instances for composed types -}
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)