| Maintainer | diagrams-discuss@googlegroups.com |
|---|---|
| Safe Haskell | None |
Diagrams.Core.Names
Contents
Description
This module defines a type of names which can be used for referring to subdiagrams, and related types.
Names
Atomic names
Names
A (qualified) name is a (possibly empty) sequence of atomic names.
Instances
| Eq Name | |
| Ord Name | |
| Show Name | |
| Typeable Name | |
| Monoid Name | |
| Semigroup Name | |
| Qualifiable Name | Of course, names can be qualified using |
| IsName Name | |
| Action Name a => Action Name (Deletable a) | |
| Action Name (Trace v) | |
| Action Name (Envelope v) | |
| Action Name (Query v m) | |
| Action Name (SubMap b v m) | A name acts on a name map by qualifying every name in it. |
| Wrapped [AName] [AName] Name Name | |
| Wrapped (Map Name [Subdiagram b v m]) (Map Name [Subdiagram b v m']) (SubMap b v m) (SubMap b v m') | |
| Wrapped (DUALTree (DownAnnots v) (UpAnnots b v m) () (QDiaLeaf b v m)) (DUALTree (DownAnnots v') (UpAnnots b' v' m') () (QDiaLeaf b' v' m')) (QDiagram b v m) (QDiagram b' v' m') |
(.>) :: (IsName a1, IsName a2) => a1 -> a2 -> NameSource
Convenient operator for writing qualified names with atomic
components of different types. Instead of writing toName a1 <>
toName a2 <> toName a3 you can just write a1 .> a2 .> a3.
Qualifiable
class Qualifiable q whereSource
Instances of Qualifiable are things which can be qualified by
prefixing them with a name.
Instances
| Qualifiable Name | Of course, names can be qualified using |
| Qualifiable a => Qualifiable [a] | |
| (Ord a, Qualifiable a) => Qualifiable (Set a) | |
| Qualifiable a => Qualifiable (TransInv a) | |
| Qualifiable a => Qualifiable (b -> a) | |
| (Qualifiable a, Qualifiable b) => Qualifiable (a, b) | |
| Qualifiable a => Qualifiable (Map k a) | |
| (Qualifiable a, Qualifiable b, Qualifiable c) => Qualifiable (a, b, c) | |
| Qualifiable (SubMap b v m) |
|
| (HasLinearMap v, InnerSpace v, OrderedField (Scalar v), Semigroup m) => Qualifiable (QDiagram b v m) | Diagrams can be qualified so that all their named points can now be referred to using the qualification prefix. |