lp-diagrams-2.0: An EDSL for diagrams based based on linear constraints

Safe HaskellSafe
LanguageHaskell2010

Algebra.Linear

Documentation

data LinFunc v c Source #

Constructors

Func (Map v c) c 

Instances

(Ord v, Ring c) => Module c (LinFunc v c) Source # 

Methods

(*^) :: c -> LinFunc v c -> LinFunc v c #

Functor (LinFunc v) Source # 

Methods

fmap :: (a -> b) -> LinFunc v a -> LinFunc v b #

(<$) :: a -> LinFunc v b -> LinFunc v a #

(Show c, Show v) => Show (LinFunc v c) Source # 

Methods

showsPrec :: Int -> LinFunc v c -> ShowS #

show :: LinFunc v c -> String #

showList :: [LinFunc v c] -> ShowS #

(Additive c, Ord v) => Additive (LinFunc v c) Source # 

Methods

(+) :: LinFunc v c -> LinFunc v c -> LinFunc v c #

zero :: LinFunc v c #

times :: Natural -> LinFunc v c -> LinFunc v c #

(Ord v, AbelianAdditive c) => AbelianAdditive (LinFunc v c) Source # 
(Ord v, Group c) => Group (LinFunc v c) Source # 

Methods

(-) :: LinFunc v c -> LinFunc v c -> LinFunc v c #

negate :: LinFunc v c -> LinFunc v c #

mult :: Integer -> LinFunc v c -> LinFunc v c #

type Constraint v c = LinFunc v c Source #

clean :: (Eq v, Eq c, Ring c) => LinFunc v c -> LinFunc v c Source #

var :: Ring c => v -> LinFunc v c Source #