packages feed

diagrams-core 1.4.1.1 → 1.4.2

raw patch · 3 files changed

+19/−8 lines, 3 filesdep ~basedep ~lensdep ~linearPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, lens, linear, semigroups

API changes (from Hackage documentation)

- Diagrams.Core: [appTrace] :: Trace v n -> Point v n -> v n -> SortedList n
- Diagrams.Core.Envelope: instance (Diagrams.Core.Envelope.Enveloped a, Diagrams.Core.Envelope.Enveloped b, Diagrams.Core.V.V a ~ Diagrams.Core.V.V b, Diagrams.Core.V.N a ~ Diagrams.Core.V.N b) => Diagrams.Core.Envelope.Enveloped (a, b)
- Diagrams.Core.Envelope: instance GHC.Classes.Ord n => Data.Semigroup.Semigroup (Diagrams.Core.Envelope.Envelope v n)
- Diagrams.Core.Juxtapose: instance (Diagrams.Core.Envelope.Enveloped a, Diagrams.Core.HasOrigin.HasOrigin a, Diagrams.Core.Envelope.Enveloped b, Diagrams.Core.HasOrigin.HasOrigin b, Diagrams.Core.V.V a ~ Diagrams.Core.V.V b, Diagrams.Core.V.N a ~ Diagrams.Core.V.N b) => Diagrams.Core.Juxtapose.Juxtaposable (a, b)
- Diagrams.Core.Measure: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Diagrams.Core.Measure.Measured n a)
- Diagrams.Core.Names: instance Data.Semigroup.Semigroup Diagrams.Core.Names.Name
- Diagrams.Core.Names: instance Diagrams.Core.Names.IsName a => Diagrams.Core.Names.IsName (GHC.Base.Maybe a)
- Diagrams.Core.Query: instance Data.Semigroup.Semigroup m => Data.Semigroup.Semigroup (Diagrams.Core.Query.Query v n m)
- Diagrams.Core.Style: instance (Diagrams.Core.Style.HasStyle a, Diagrams.Core.Style.HasStyle b, Diagrams.Core.V.V a ~ Diagrams.Core.V.V b, Diagrams.Core.V.N a ~ Diagrams.Core.V.N b) => Diagrams.Core.Style.HasStyle (a, b)
- Diagrams.Core.Style: instance Data.Typeable.Internal.Typeable n => Data.Semigroup.Semigroup (Diagrams.Core.Style.Attribute v n)
- Diagrams.Core.Style: instance Data.Typeable.Internal.Typeable n => Data.Semigroup.Semigroup (Diagrams.Core.Style.Style v n)
- Diagrams.Core.Trace: [appTrace] :: Trace v n -> Point v n -> v n -> SortedList n
- Diagrams.Core.Trace: instance GHC.Classes.Ord a => Data.Semigroup.Semigroup (Diagrams.Core.Trace.SortedList a)
- Diagrams.Core.Trace: instance GHC.Classes.Ord n => Data.Semigroup.Semigroup (Diagrams.Core.Trace.Trace v n)
- Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable a, Diagrams.Core.V.V a ~ v, Diagrams.Core.V.N a ~ n) => Data.Monoid.Action.Action (Diagrams.Core.Transform.Transformation v n) a
- Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s, Diagrams.Core.Transform.Transformable u, Diagrams.Core.V.V s ~ Diagrams.Core.V.V t, Diagrams.Core.V.N s ~ Diagrams.Core.V.N t, Diagrams.Core.V.V s ~ Diagrams.Core.V.V u, Diagrams.Core.V.N s ~ Diagrams.Core.V.N u) => Diagrams.Core.Transform.Transformable (t, s, u)
- Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s, Diagrams.Core.V.V t ~ Diagrams.Core.V.V s, Diagrams.Core.V.N t ~ Diagrams.Core.V.N s) => Diagrams.Core.Transform.Transformable (t, s)
- Diagrams.Core.Transform: instance (Diagrams.Core.V.V t ~ v, Diagrams.Core.V.N t ~ n, Diagrams.Core.V.V t ~ Diagrams.Core.V.V s, Diagrams.Core.V.N t ~ Diagrams.Core.V.N s, GHC.Base.Functor v, GHC.Num.Num n, Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s) => Diagrams.Core.Transform.Transformable (s -> t)
- Diagrams.Core.Transform: instance (Linear.Vector.Additive v, GHC.Num.Num n) => Data.Semigroup.Semigroup (Diagrams.Core.Transform.Transformation v n)
- Diagrams.Core.Transform: instance Data.Semigroup.Semigroup (a Diagrams.Core.Transform.:-: a)
- Diagrams.Core.Transform: instance Data.Semigroup.Semigroup t => Data.Semigroup.Semigroup (Diagrams.Core.Transform.TransInv t)
- Diagrams.Core.Types: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v, Data.Semigroup.Semigroup m) => Diagrams.Core.Trace.Traced (Diagrams.Core.Types.Subdiagram b v n m)
- Diagrams.Core.Types: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v, Data.Semigroup.Semigroup m) => Diagrams.Core.Transform.Transformable (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => Data.Semigroup.Semigroup (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => Diagrams.Core.HasOrigin.HasOrigin (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => Diagrams.Core.Names.Qualifiable (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => Diagrams.Core.Style.HasStyle (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => Diagrams.Core.Trace.Traced (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Data.Semigroup.Semigroup m) => GHC.Base.Monoid (Diagrams.Core.Types.QDiagram b v n m)
- Diagrams.Core.Types: instance Data.Semigroup.Semigroup (Diagrams.Core.Types.Render Diagrams.Core.Types.NullBackend v n)
- Diagrams.Core.Types: instance Data.Semigroup.Semigroup (Diagrams.Core.Types.SubMap b v n m)
+ Diagrams.Core: -- (Typically, this will be some sort of monad, but it need not be.) The
+ Diagrams.Core: -- <a>Renderable</a> class guarantees that a backend will be able to
+ Diagrams.Core: -- backend.
+ Diagrams.Core: -- combined into an ultimate <a>Result</a> is completely up to the
+ Diagrams.Core: -- convert primitives into this type; how these rendered primitives are
+ Diagrams.Core: -- | Backend-specific rendering options.
+ Diagrams.Core: appTrace :: Trace v n -> Point v n -> v n -> SortedList n
+ Diagrams.Core: infixr 7 :-:
+ Diagrams.Core.Envelope: instance (Diagrams.Core.Envelope.Enveloped a, Diagrams.Core.Envelope.Enveloped b, Diagrams.Core.V.V a Data.Type.Equality.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a Data.Type.Equality.~ Diagrams.Core.V.N b) => Diagrams.Core.Envelope.Enveloped (a, b)
+ Diagrams.Core.Envelope: instance GHC.Classes.Ord n => GHC.Base.Semigroup (Diagrams.Core.Envelope.Envelope v n)
+ Diagrams.Core.Juxtapose: instance (Diagrams.Core.Envelope.Enveloped a, Diagrams.Core.HasOrigin.HasOrigin a, Diagrams.Core.Envelope.Enveloped b, Diagrams.Core.HasOrigin.HasOrigin b, Diagrams.Core.V.V a Data.Type.Equality.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a Data.Type.Equality.~ Diagrams.Core.V.N b) => Diagrams.Core.Juxtapose.Juxtaposable (a, b)
+ Diagrams.Core.Measure: instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Diagrams.Core.Measure.Measured n a)
+ Diagrams.Core.Names: instance Diagrams.Core.Names.IsName a => Diagrams.Core.Names.IsName (GHC.Maybe.Maybe a)
+ Diagrams.Core.Names: instance GHC.Base.Semigroup Diagrams.Core.Names.Name
+ Diagrams.Core.Query: instance GHC.Base.Semigroup m => GHC.Base.Semigroup (Diagrams.Core.Query.Query v n m)
+ Diagrams.Core.Style: instance (Diagrams.Core.Style.HasStyle a, Diagrams.Core.Style.HasStyle b, Diagrams.Core.V.V a Data.Type.Equality.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a Data.Type.Equality.~ Diagrams.Core.V.N b) => Diagrams.Core.Style.HasStyle (a, b)
+ Diagrams.Core.Style: instance Data.Typeable.Internal.Typeable n => GHC.Base.Semigroup (Diagrams.Core.Style.Attribute v n)
+ Diagrams.Core.Style: instance Data.Typeable.Internal.Typeable n => GHC.Base.Semigroup (Diagrams.Core.Style.Style v n)
+ Diagrams.Core.Trace: appTrace :: Trace v n -> Point v n -> v n -> SortedList n
+ Diagrams.Core.Trace: instance GHC.Classes.Ord a => GHC.Base.Semigroup (Diagrams.Core.Trace.SortedList a)
+ Diagrams.Core.Trace: instance GHC.Classes.Ord n => GHC.Base.Semigroup (Diagrams.Core.Trace.Trace v n)
+ Diagrams.Core.Transform: infixr 7 :-:
+ Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable a, Diagrams.Core.V.V a Data.Type.Equality.~ v, Diagrams.Core.V.N a Data.Type.Equality.~ n) => Data.Monoid.Action.Action (Diagrams.Core.Transform.Transformation v n) a
+ Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s, Diagrams.Core.Transform.Transformable u, Diagrams.Core.V.V s Data.Type.Equality.~ Diagrams.Core.V.V t, Diagrams.Core.V.N s Data.Type.Equality.~ Diagrams.Core.V.N t, Diagrams.Core.V.V s Data.Type.Equality.~ Diagrams.Core.V.V u, Diagrams.Core.V.N s Data.Type.Equality.~ Diagrams.Core.V.N u) => Diagrams.Core.Transform.Transformable (t, s, u)
+ Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s, Diagrams.Core.V.V t Data.Type.Equality.~ Diagrams.Core.V.V s, Diagrams.Core.V.N t Data.Type.Equality.~ Diagrams.Core.V.N s) => Diagrams.Core.Transform.Transformable (t, s)
+ Diagrams.Core.Transform: instance (Diagrams.Core.V.V t Data.Type.Equality.~ v, Diagrams.Core.V.N t Data.Type.Equality.~ n, Diagrams.Core.V.V t Data.Type.Equality.~ Diagrams.Core.V.V s, Diagrams.Core.V.N t Data.Type.Equality.~ Diagrams.Core.V.N s, GHC.Base.Functor v, GHC.Num.Num n, Diagrams.Core.Transform.Transformable t, Diagrams.Core.Transform.Transformable s) => Diagrams.Core.Transform.Transformable (s -> t)
+ Diagrams.Core.Transform: instance (Linear.Vector.Additive v, GHC.Num.Num n) => GHC.Base.Semigroup (Diagrams.Core.Transform.Transformation v n)
+ Diagrams.Core.Transform: instance GHC.Base.Semigroup (a Diagrams.Core.Transform.:-: a)
+ Diagrams.Core.Transform: instance GHC.Base.Semigroup t => GHC.Base.Semigroup (Diagrams.Core.Transform.TransInv t)
+ Diagrams.Core.Types: -- (Typically, this will be some sort of monad, but it need not be.) The
+ Diagrams.Core.Types: -- <a>Renderable</a> class guarantees that a backend will be able to
+ Diagrams.Core.Types: -- backend.
+ Diagrams.Core.Types: -- combined into an ultimate <a>Result</a> is completely up to the
+ Diagrams.Core.Types: -- convert primitives into this type; how these rendered primitives are
+ Diagrams.Core.Types: -- | Backend-specific rendering options.
+ Diagrams.Core.Types: KeyVal :: (String, String) -> Annotation
+ Diagrams.Core.Types: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v, GHC.Base.Semigroup m) => Diagrams.Core.Trace.Traced (Diagrams.Core.Types.Subdiagram b v n m)
+ Diagrams.Core.Types: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v, GHC.Base.Semigroup m) => Diagrams.Core.Transform.Transformable (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => Diagrams.Core.HasOrigin.HasOrigin (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => Diagrams.Core.Names.Qualifiable (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => Diagrams.Core.Style.HasStyle (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => Diagrams.Core.Trace.Traced (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => GHC.Base.Monoid (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, GHC.Base.Semigroup m) => GHC.Base.Semigroup (Diagrams.Core.Types.QDiagram b v n m)
+ Diagrams.Core.Types: instance GHC.Base.Semigroup (Diagrams.Core.Types.Render Diagrams.Core.Types.NullBackend v n)
+ Diagrams.Core.Types: instance GHC.Base.Semigroup (Diagrams.Core.Types.SubMap b v n m)
+ Diagrams.Core.Types: keyVal :: (Metric v, OrderedField n, Semigroup m) => (String, String) -> QDiagram b v n m -> QDiagram b v n m
+ Diagrams.Core.V: type family N a :: *
- Diagrams.Core: (<->) :: (u -> v) -> (v -> u) -> (u :-: v)
+ Diagrams.Core: (<->) :: (u -> v) -> (v -> u) -> u :-: v
- Diagrams.Core: Envelope :: (Option (v n -> Max n)) -> Envelope v n
+ Diagrams.Core: Envelope :: Option (v n -> Max n) -> Envelope v n
- Diagrams.Core: SubMap :: (Map Name [Subdiagram b v n m]) -> SubMap b v n m
+ Diagrams.Core: SubMap :: Map Name [Subdiagram b v n m] -> SubMap b v n m
- Diagrams.Core: Subdiagram :: (QDiagram b v n m) -> (DownAnnots v n) -> Subdiagram b v n m
+ Diagrams.Core: Subdiagram :: QDiagram b v n m -> DownAnnots v n -> Subdiagram b v n m
- Diagrams.Core: data Point (f :: * -> *) a :: (* -> *) -> * -> *
+ Diagrams.Core: data Point (f :: Type -> Type) a
- Diagrams.Core: linv :: (u :-: v) -> (v :-: u)
+ Diagrams.Core: linv :: (u :-: v) -> v :-: u
- Diagrams.Core: relative :: (Additive f, Num a) => Point f a -> Iso' Point f a f a
+ Diagrams.Core: relative :: (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
- Diagrams.Core: translate :: (Transformable t) => Vn t -> t -> t
+ Diagrams.Core: translate :: Transformable t => Vn t -> t -> t
- Diagrams.Core: transp :: Transformation v n -> (v n :-: v n)
+ Diagrams.Core: transp :: Transformation v n -> v n :-: v n
- Diagrams.Core: type Monoid' m = (Semigroup m, Monoid m)
+ Diagrams.Core: type Monoid' = Monoid
- Diagrams.Core.Compile: RPrim :: (Prim b v n) -> RNode b v n a
+ Diagrams.Core.Compile: RPrim :: Prim b v n -> RNode b v n a
- Diagrams.Core.Compile: RStyle :: (Style v n) -> RNode b v n a
+ Diagrams.Core.Compile: RStyle :: Style v n -> RNode b v n a
- Diagrams.Core.Envelope: Envelope :: (Option (v n -> Max n)) -> Envelope v n
+ Diagrams.Core.Envelope: Envelope :: Option (v n -> Max n) -> Envelope v n
- Diagrams.Core.Names: infixr 5 .>
+ Diagrams.Core.Names: infixr 5 .>>
- Diagrams.Core.Points: _Point :: (Profunctor p, Functor f) => p f a f f a -> p Point f a f Point f a
+ Diagrams.Core.Points: _Point :: () => Iso' (Point f a) (f a)
- Diagrams.Core.Points: newtype Point (f :: * -> *) a :: (* -> *) -> * -> *
+ Diagrams.Core.Points: newtype Point (f :: Type -> Type) a
- Diagrams.Core.Points: relative :: (Additive f, Num a) => Point f a -> Iso' Point f a f a
+ Diagrams.Core.Points: relative :: (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
- Diagrams.Core.Style: Style :: (HashMap TypeRep (Attribute v n)) -> Style v n
+ Diagrams.Core.Style: Style :: HashMap TypeRep (Attribute v n) -> Style v n
- Diagrams.Core.Style: unmeasureAttribute :: (Num n) => n -> n -> Attribute v n -> Attribute v n
+ Diagrams.Core.Style: unmeasureAttribute :: Num n => n -> n -> Attribute v n -> Attribute v n
- Diagrams.Core.Style: unmeasureAttrs :: (Num n) => n -> n -> Style v n -> Style v n
+ Diagrams.Core.Style: unmeasureAttrs :: Num n => n -> n -> Style v n -> Style v n
- Diagrams.Core.Transform: (<->) :: (u -> v) -> (v -> u) -> (u :-: v)
+ Diagrams.Core.Transform: (<->) :: (u -> v) -> (v -> u) -> u :-: v
- Diagrams.Core.Transform: Transformation :: (v n :-: v n) -> (v n :-: v n) -> (v n) -> Transformation v n
+ Diagrams.Core.Transform: Transformation :: (v n :-: v n) -> (v n :-: v n) -> v n -> Transformation v n
- Diagrams.Core.Transform: linv :: (u :-: v) -> (v :-: u)
+ Diagrams.Core.Transform: linv :: (u :-: v) -> v :-: u
- Diagrams.Core.Transform: translate :: (Transformable t) => Vn t -> t -> t
+ Diagrams.Core.Transform: translate :: Transformable t => Vn t -> t -> t
- Diagrams.Core.Transform: transp :: Transformation v n -> (v n :-: v n)
+ Diagrams.Core.Transform: transp :: Transformation v n -> v n :-: v n
- Diagrams.Core.Types: DPrim :: (Prim b v n) -> DNode b v n a
+ Diagrams.Core.Types: DPrim :: Prim b v n -> DNode b v n a
- Diagrams.Core.Types: DStyle :: (Style v n) -> DNode b v n a
+ Diagrams.Core.Types: DStyle :: Style v n -> DNode b v n a
- Diagrams.Core.Types: DTransform :: (Transformation v n) -> DNode b v n a
+ Diagrams.Core.Types: DTransform :: Transformation v n -> DNode b v n a
- Diagrams.Core.Types: PrimLeaf :: (Prim b v n) -> QDiaLeaf b v n m
+ Diagrams.Core.Types: PrimLeaf :: Prim b v n -> QDiaLeaf b v n m
- Diagrams.Core.Types: QD :: (DUALTree (DownAnnots v n) (UpAnnots b v n m) Annotation (QDiaLeaf b v n m)) -> QDiagram b v n m
+ Diagrams.Core.Types: QD :: DUALTree (DownAnnots v n) (UpAnnots b v n m) Annotation (QDiaLeaf b v n m) -> QDiagram b v n m
- Diagrams.Core.Types: RPrim :: (Prim b v n) -> RNode b v n a
+ Diagrams.Core.Types: RPrim :: Prim b v n -> RNode b v n a
- Diagrams.Core.Types: RStyle :: (Style v n) -> RNode b v n a
+ Diagrams.Core.Types: RStyle :: Style v n -> RNode b v n a
- Diagrams.Core.Types: SubMap :: (Map Name [Subdiagram b v n m]) -> SubMap b v n m
+ Diagrams.Core.Types: SubMap :: Map Name [Subdiagram b v n m] -> SubMap b v n m
- Diagrams.Core.Types: Subdiagram :: (QDiagram b v n m) -> (DownAnnots v n) -> Subdiagram b v n m
+ Diagrams.Core.Types: Subdiagram :: QDiagram b v n m -> DownAnnots v n -> Subdiagram b v n m
- Diagrams.Core.Types: type DownAnnots v n = (Transformation v n :+: Style v n) ::: (Name ::: ())
+ Diagrams.Core.Types: type DownAnnots v n = (Transformation v n :+: Style v n) ::: Name ::: ()
- Diagrams.Core.Types: type UpAnnots b v n m = Deletable (Envelope v n) ::: (Deletable (Trace v n) ::: (Deletable (SubMap b v n m) ::: (Query v n m ::: ())))
+ Diagrams.Core.Types: type UpAnnots b v n m = Deletable (Envelope v n) ::: Deletable (Trace v n) ::: Deletable (SubMap b v n m) ::: Query v n m ::: ()

Files

CHANGELOG.md view
@@ -1,3 +1,9 @@+## [v1.4.2](https://github.com/diagrams/diagrams-core/tree/v1.4.2) (2019-10-19)++* New `KeyVal` constructor for `Annotation` ([PR](https://github.com/diagrams/diagrams-core/pull/104))+* Updates for GHC 8.8+* Drop support for GHC 7.6 and 7.8+ ## [v1.4.1.1](https://github.com/diagrams/diagrams-core/tree/v1.4.1.1) (2018-06-17)  * Add some `ConstraintKinds` pragmas to allow compilation on GHC 7.8 and 7.6
diagrams-core.cabal view
@@ -1,5 +1,5 @@ Name:                diagrams-core-Version:             1.4.1.1+Version:             1.4.2 Synopsis:            Core libraries for diagrams EDSL Description:         The core modules underlying diagrams,                      an embedded domain-specific language@@ -15,7 +15,7 @@ Cabal-version:       1.18 Extra-source-files:  CHANGELOG.md, README.markdown, diagrams/*.svg extra-doc-files:     diagrams/*.svg-Tested-with:         GHC == 7.8.4, GHC == 7.10.2, GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.1+Tested-with:         GHC == 7.10.2, GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.6.1, GHC == 8.8.1 Source-repository head   type:     git   location: git://github.com/diagrams/diagrams-core.git@@ -36,13 +36,13 @@                        Diagrams.Core.Types,                        Diagrams.Core.V -  Build-depends:       base >= 4.2 && < 4.12,-                       containers >= 0.4.2 && < 0.6,+  Build-depends:       base >= 4.2 && < 4.14,+                       containers >= 0.4.2 && < 0.7,                        unordered-containers >= 0.2 && < 0.3,-                       semigroups >= 0.8.4 && < 0.19,+                       semigroups >= 0.8.4 && < 0.20,                        monoid-extras >= 0.3 && < 0.6,                        dual-tree >= 0.2 && < 0.3,-                       lens >= 4.0 && < 4.17,+                       lens >= 4.0 && < 4.19,                        linear >= 1.11.3 && < 1.21,                        adjunctions >= 4.0 && < 5.0,                        distributive >=0.2.2 && < 1.0,
src/Diagrams/Core/Types.hs view
@@ -47,8 +47,8 @@          -- ** Annotations           -- *** Static annotations-         Annotation(Href, OpacityGroup)-       , applyAnnotation, href, opacityGroup, groupOpacity+         Annotation(Href, OpacityGroup, KeyVal)+       , applyAnnotation, href, opacityGroup, groupOpacity, keyVal           -- *** Dynamic (monoidal) annotations        , UpAnnots, DownAnnots, transfToAnnot, transfFromAnnot@@ -252,6 +252,7 @@ data Annotation   = Href String    -- ^ Hyperlink   | OpacityGroup Double+  | KeyVal (String, String)   deriving Show  -- | Apply a static annotation at the root of a diagram.@@ -272,6 +273,10 @@ opacityGroup = applyAnnotation . OpacityGroup groupOpacity = applyAnnotation . OpacityGroup +-- | Apply a general Key-Value annotation+keyVal :: (Metric v, OrderedField n, Semigroup m)+  => (String, String) -> QDiagram b v n m -> QDiagram b v n m+keyVal = applyAnnotation . KeyVal  -- | The fundamental diagram type.  The type variables are as follows: --