diagrams-core 1.4.2 → 1.5.0
raw patch · 6 files changed
+28/−17 lines, 6 filesdep ~basedep ~lensdep ~monoid-extrasPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, lens, monoid-extras, semigroups
API changes (from Hackage documentation)
- 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.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.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.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.Envelope: instance (Diagrams.Core.Envelope.Enveloped a, Diagrams.Core.Envelope.Enveloped b, Diagrams.Core.V.V a GHC.Types.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a GHC.Types.~ Diagrams.Core.V.N b) => Diagrams.Core.Envelope.Enveloped (a, b)
+ 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 GHC.Types.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a GHC.Types.~ Diagrams.Core.V.N b) => Diagrams.Core.Juxtapose.Juxtaposable (a, b)
+ Diagrams.Core.Style: instance (Diagrams.Core.Style.HasStyle a, Diagrams.Core.Style.HasStyle b, Diagrams.Core.V.V a GHC.Types.~ Diagrams.Core.V.V b, Diagrams.Core.V.N a GHC.Types.~ Diagrams.Core.V.N b) => Diagrams.Core.Style.HasStyle (a, b)
+ Diagrams.Core.Transform: instance (Diagrams.Core.Transform.Transformable a, Diagrams.Core.V.V a GHC.Types.~ v, Diagrams.Core.V.N a GHC.Types.~ 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 GHC.Types.~ Diagrams.Core.V.V t, Diagrams.Core.V.N s GHC.Types.~ Diagrams.Core.V.N t, Diagrams.Core.V.V s GHC.Types.~ Diagrams.Core.V.V u, Diagrams.Core.V.N s GHC.Types.~ 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 GHC.Types.~ Diagrams.Core.V.V s, Diagrams.Core.V.N t GHC.Types.~ Diagrams.Core.V.N s) => Diagrams.Core.Transform.Transformable (t, s)
+ Diagrams.Core.Transform: instance (Diagrams.Core.V.V t GHC.Types.~ v, Diagrams.Core.V.N t GHC.Types.~ n, Diagrams.Core.V.V t GHC.Types.~ Diagrams.Core.V.V s, Diagrams.Core.V.N t GHC.Types.~ 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: Envelope :: Option (v n -> Max n) -> Envelope v n
+ Diagrams.Core: Envelope :: Maybe (v n -> Max n) -> Envelope v n
- Diagrams.Core: origin :: (Additive f, Num a) => Point f a
+ Diagrams.Core: origin :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a
- Diagrams.Core: relative :: (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
+ Diagrams.Core: relative :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
- Diagrams.Core.Envelope: Envelope :: Option (v n -> Max n) -> Envelope v n
+ Diagrams.Core.Envelope: Envelope :: Maybe (v n -> Max n) -> Envelope v n
- Diagrams.Core.Points: P :: f a -> Point a
+ Diagrams.Core.Points: P :: f a -> Point (f :: Type -> Type) a
- Diagrams.Core.Points: _Point :: () => Iso' (Point f a) (f a)
+ Diagrams.Core.Points: _Point :: forall (f :: Type -> Type) a. Iso' (Point f a) (f a)
- Diagrams.Core.Points: origin :: (Additive f, Num a) => Point f a
+ Diagrams.Core.Points: origin :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a
- Diagrams.Core.Points: relative :: (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
+ Diagrams.Core.Points: relative :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
Files
- CHANGELOG.md +11/−0
- diagrams-core.cabal +6/−6
- src/Diagrams/Core/Compile.hs +2/−2
- src/Diagrams/Core/Envelope.hs +4/−4
- src/Diagrams/Core/Types.hs +2/−2
- src/Diagrams/Core/V.hs +3/−3
CHANGELOG.md view
@@ -1,3 +1,14 @@+## [v1.5.0](https://github.com/diagrams/diagrams-core/tree/v1.5.0) (2021-05-13)++* Updates for GHC 8.10 and 9.0+* Drop support for GHC < 8.4+* Remove deprecated `Option` type in favor of `Maybe`. This is a+ breaking API change.++## [v1.4.2-r1](https://github.com/diagrams/diagrams-core/tree/v1.4.2-r1) (2020-02-10)++* Allow `lens-4.19` and `linear-1.21`+ ## [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))
diagrams-core.cabal view
@@ -1,5 +1,5 @@ Name: diagrams-core-Version: 1.4.2+Version: 1.5.0 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.10.2, GHC == 8.0.1, GHC == 8.2.2, GHC == 8.4.1, GHC == 8.6.1, GHC == 8.8.1+Tested-with: GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4, GHC == 9.0.1 Source-repository head type: git location: git://github.com/diagrams/diagrams-core.git@@ -36,14 +36,14 @@ Diagrams.Core.Types, Diagrams.Core.V - Build-depends: base >= 4.2 && < 4.14,+ Build-depends: base >= 4.11 && < 4.16, containers >= 0.4.2 && < 0.7, unordered-containers >= 0.2 && < 0.3, semigroups >= 0.8.4 && < 0.20,- monoid-extras >= 0.3 && < 0.6,+ monoid-extras >= 0.3 && < 0.7, dual-tree >= 0.2 && < 0.3,- lens >= 4.0 && < 4.19,- linear >= 1.11.3 && < 1.21,+ lens >= 4.0 && < 5.1,+ linear >= 1.11.3 && < 1.22, adjunctions >= 4.0 && < 5.0, distributive >=0.2.2 && < 1.0, profunctors >= 5.0 && < 6.0,
src/Diagrams/Core/Compile.hs view
@@ -103,8 +103,8 @@ -- 'untangle' we have already performed the action of the -- transform on the style). (\d t -> case get d of- Option Nothing -> t- Option (Just d') ->+ Nothing -> t+ Just d' -> let (tr,sty) = untangle d' in Node (DStyle sty) [Node (DTransform tr) [t]] )
src/Diagrams/Core/Envelope.hs view
@@ -109,10 +109,10 @@ -- The idea for envelopes came from -- Sebastian Setzer; see -- <http://byorgey.wordpress.com/2009/10/28/collecting-attributes/#comment-2030>. See also Brent Yorgey, /Monoids: Theme and Variations/, published in the 2012 Haskell Symposium: <http://ozark.hendrix.edu/~yorgey/pub/monoid-pearl.pdf>; video: <http://www.youtube.com/watch?v=X-8NCkD2vOw>.-newtype Envelope v n = Envelope (Option (v n -> Max n))+newtype Envelope v n = Envelope (Maybe (v n -> Max n)) instance Wrapped (Envelope v n) where- type Unwrapped (Envelope v n) = Option (v n -> Max n)+ type Unwrapped (Envelope v n) = Maybe (v n -> Max n) _Wrapped' = iso (\(Envelope e) -> e) Envelope instance Rewrapped (Envelope v n) (Envelope v' n')@@ -120,7 +120,7 @@ -- | \"Apply\" an envelope by turning it into a function. @Nothing@ -- is returned iff the envelope is empty. appEnvelope :: Envelope v n -> Maybe (v n -> n)-appEnvelope (Envelope (Option e)) = (getMax .) <$> e+appEnvelope (Envelope e) = (getMax .) <$> e -- | A convenient way to transform an envelope, by specifying a -- transformation on the underlying @v n -> n@ function. The empty@@ -130,7 +130,7 @@ -- | Create an envelope from a @v n -> n@ function. mkEnvelope :: (v n -> n) -> Envelope v n-mkEnvelope = Envelope . Option . Just . (Max .)+mkEnvelope = Envelope . Just . (Max .) -- | Create a point envelope for the given point. A point envelope -- has distance zero to a bounding hyperplane in every direction.
src/Diagrams/Core/Types.hs view
@@ -224,7 +224,7 @@ -- | Extract the (total) transformation from a downwards annotation -- value. transfFromAnnot :: (Additive v, Num n) => DownAnnots v n -> Transformation v n-transfFromAnnot = option mempty killR . fst+transfFromAnnot = maybe mempty killR . fst -- | A leaf in a 'QDiagram' tree is either a 'Prim', or a \"delayed\" -- @QDiagram@ which expands to a real @QDiagram@ once it learns the@@ -347,7 +347,7 @@ -- | A useful variant of 'getU' which projects out a certain -- component. getU' :: (Monoid u', u :>: u') => D.DUALTree d u a l -> u'-getU' = maybe mempty (option mempty id . get) . D.getU+getU' = maybe mempty (maybe mempty id . get) . D.getU -- | Lens onto the 'Envelope' of a 'QDiagram'. envelope :: (OrderedField n, Metric v, Monoid' m)
src/Diagrams/Core/V.hs view
@@ -47,7 +47,7 @@ type instance V (a -> b) = V b type instance V [a] = V a-type instance V (Option a) = V a+type instance V (Maybe a) = V a type instance V (Set a) = V a type instance V (Map k a) = V a @@ -63,7 +63,7 @@ type instance N (a -> b) = N b type instance N [a] = N a-type instance N (Option a) = N a+type instance N (Maybe a) = N a type instance N (Set a) = N a type instance N (Map k a) = N a @@ -71,7 +71,7 @@ type instance N (Split m) = N m type instance N (m :+: n) = N m --- | Conveient type alias to retrieve the vector type associated with an+-- | Convenient 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. type Vn a = V a (N a)