pandora-0.5.3: A box of patterns and paradigms
Safe HaskellSafe-Inferred
LanguageHaskell2010

Pandora.Paradigm.Primary.Linear.Vector

Documentation

data Vector r a where Source #

Constructors

Scalar :: a -> Vector a a 
Vector :: a -> Vector r a -> Vector (a :*: r) a 

Instances

Instances details
Monotonic a (Vector r a) => Monotonic a (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

reduce :: (a -> r0 -> r0) -> r0 -> Vector (a :*: r) a -> r0 Source #

resolve :: (a -> r0) -> r0 -> Vector (a :*: r) a -> r0 Source #

Monotonic a (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

reduce :: (a -> r -> r) -> r -> Vector a a -> r Source #

resolve :: (a -> r) -> r -> Vector a a -> r Source #

Morphable ('Into (Construction Maybe)) (Vector r) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Morphing ('Into (Construction Maybe)) (Vector r) :: Type -> Type Source #

Morphable ('Into List) (Vector r) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

Associated Types

type Morphing ('Into List) (Vector r) :: Type -> Type Source #

Semigroup a => Semigroup (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(+) :: Vector a a -> Vector a a -> Vector a a Source #

(Semigroup a, Semigroup r, Semigroup (a :*: r), Semigroup (Vector r a)) => Semigroup (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(+) :: Vector (a :*: r) a -> Vector (a :*: r) a -> Vector (a :*: r) a Source #

Ringoid a => Ringoid (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(*) :: Vector a a -> Vector a a -> Vector a a Source #

(Ringoid a, Ringoid r, Ringoid (a :*: r), Ringoid (Vector r a)) => Ringoid (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(*) :: Vector (a :*: r) a -> Vector (a :*: r) a -> Vector (a :*: r) a Source #

Monoid a => Monoid (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

zero :: Vector a a Source #

(Monoid a, Monoid r, Monoid (a :*: r), Monoid (Vector r a)) => Monoid (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

zero :: Vector (a :*: r) a Source #

Quasiring a => Quasiring (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

one :: Vector a a Source #

(Quasiring a, Quasiring r, Quasiring (a :*: r), Quasiring (Vector r a)) => Quasiring (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

one :: Vector (a :*: r) a Source #

Group a => Group (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

invert :: Vector a a -> Vector a a Source #

(-) :: Vector a a -> Vector a a -> Vector a a Source #

(Group a, Group r, Group (a :*: r), Group (Vector r a)) => Group (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

invert :: Vector (a :*: r) a -> Vector (a :*: r) a Source #

(-) :: Vector (a :*: r) a -> Vector (a :*: r) a -> Vector (a :*: r) a Source #

Setoid a => Setoid (Vector a a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(==) :: Vector a a -> Vector a a -> Boolean Source #

(!=) :: Vector a a -> Vector a a -> Boolean Source #

(?=) :: Vector a a -> Vector a a -> r -> r -> r Source #

(Setoid a, Setoid (Vector r a)) => Setoid (Vector (a :*: r) a) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

(==) :: Vector (a :*: r) a -> Vector (a :*: r) a -> Boolean Source #

(!=) :: Vector (a :*: r) a -> Vector (a :*: r) a -> Boolean Source #

(?=) :: Vector (a :*: r) a -> Vector (a :*: r) a -> r0 -> r0 -> r0 Source #

type Morphing ('Into (Construction Maybe)) (Vector r) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Morphing ('Into List) (Vector r) Source # 
Instance details

Defined in Pandora.Paradigm.Structure

type Morphing ('Into List) (Vector r) = List

class Vectorize a r where Source #

Methods

vectorize :: r -> Vector r a Source #

Instances

Instances details
Vectorize a a Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

vectorize :: a -> Vector a a Source #

Vectorize a r => Vectorize a (a :*: r) Source # 
Instance details

Defined in Pandora.Paradigm.Primary.Linear.Vector

Methods

vectorize :: (a :*: r) -> Vector (a :*: r) a Source #