Copyright | (c) 2011-2015 diagrams-core team (see LICENSE) |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | diagrams-discuss@googlegroups.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Type family for identifying associated vector spaces.
Documentation
Many sorts of objects have an associated vector space in which
they "live". The type function V
maps from object types to
the associated vector space. The resulting vector space has kind * -> *
which means it takes another value (a number) and returns a concrete
vector. For example V2
has kind * -> *
and V2 Double
is a vector.
type V [a] # | |
type V (Option a) # | |
type V (Set a) # | |
type V (Split m) # | |
type V (Deletable m) # | |
type V (TransInv t) # | |
type V (a -> b) # | |
type V (a, b) # | |
type V (Map k a) # | |
type V (Point v n) # | |
type V ((:+:) m n) # | |
type V (Measured n a) # | |
type V (Transformation v n) # | |
type V (Style v n) # | |
type V (Attribute v n) # | |
type V (Trace v n) # | |
type V (Envelope v n) # | |
type V (a, b, c) # | |
type V (Query v n m) # | |
type V (Prim b v n) # | |
type V (SubMap b v n m) # | |
type V (Subdiagram b v n m) # | |
type V (QDiagram b v n m) # | |
The numerical field for the object, the number type used for calculations.
type N [a] # | |
type N (Option a) # | |
type N (Set a) # | |
type N (Split m) # | |
type N (Deletable m) # | |
type N (TransInv t) # | |
type N (a -> b) # | |
type N (a, b) # | |
type N (Map k a) # | |
type N (Point v n) # | |
type N ((:+:) m n) # | |
type N (Measured n a) # | |
type N (Transformation v n) # | |
type N (Style v n) # | |
type N (Attribute v n) # | |
type N (Trace v n) # | |
type N (Envelope v n) # | |
type N (a, b, c) # | |
type N (Query v n m) # | |
type N (Prim b v n) # | |
type N (SubMap b v n m) # | |
type N (Subdiagram b v n m) # | |
type N (QDiagram b v n m) # | |
Conveient type alias to retrieve the vector type associated with an
object's vector space. This is usually used as Vn a ~ v n
where v
is
the vector space and n
is the numerical field.