diagrams-core 1.4.1 → 1.4.1.1
raw patch · 10 files changed
+27/−20 lines, 10 filesdep ~basedep ~containersdep ~lensPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, containers, lens
API changes (from Hackage documentation)
- Diagrams.Core: class (Additive v, Representable v, Rep v ~ E v) => HasBasis v
- Diagrams.Core: class (HasBasis v, Traversable v) => HasLinearMap v
- Diagrams.Core: class (V a ~ v, N a ~ n, Additive v, Num n) => InSpace v n a
- Diagrams.Core: class (Semigroup m, Monoid m) => Monoid' m
- Diagrams.Core: class (Floating s, Ord s) => OrderedField s
- Diagrams.Core: class (V a ~ V b, N a ~ N b) => SameSpace a b
- Diagrams.Core: class (Typeable n, RealFloat n) => TypeableFloat n
- Diagrams.Core.Envelope: class (Floating s, Ord s) => OrderedField s
- Diagrams.Core.Envelope: instance (GHC.Float.Floating s, GHC.Classes.Ord s) => Diagrams.Core.Envelope.OrderedField s
- Diagrams.Core.Transform: class (Additive v, Representable v, Rep v ~ E v) => HasBasis v
- Diagrams.Core.Transform: class (HasBasis v, Traversable v) => HasLinearMap v
- Diagrams.Core.Transform: instance (Diagrams.Core.Transform.HasBasis v, Data.Traversable.Traversable v) => Diagrams.Core.Transform.HasLinearMap v
- Diagrams.Core.Transform: instance (Linear.Vector.Additive v, Data.Functor.Rep.Representable v, Data.Functor.Rep.Rep v ~ Linear.Vector.E v) => Diagrams.Core.Transform.HasBasis v
- Diagrams.Core.Types: class (Typeable n, RealFloat n) => TypeableFloat n
- Diagrams.Core.Types: instance (Data.Typeable.Internal.Typeable n, GHC.Float.RealFloat n) => Diagrams.Core.Types.TypeableFloat n
- Diagrams.Core.V: class (V a ~ v, N a ~ n, Additive v, Num n) => InSpace v n a
- Diagrams.Core.V: class (V a ~ V b, N a ~ N b) => SameSpace a b
- Diagrams.Core.V: instance (Diagrams.Core.V.V a ~ Diagrams.Core.V.V b, Diagrams.Core.V.N a ~ Diagrams.Core.V.N b) => Diagrams.Core.V.SameSpace a b
- Diagrams.Core.V: instance (Diagrams.Core.V.V a ~ v, Diagrams.Core.V.N a ~ n, Linear.Vector.Additive v, GHC.Num.Num n) => Diagrams.Core.V.InSpace v n a
+ Diagrams.Core: type HasBasis v = (Additive v, Representable v, Rep v ~ E v)
+ Diagrams.Core: type HasLinearMap v = (HasBasis v, Traversable v)
+ Diagrams.Core: type InSpace v n a = (V a ~ v, N a ~ n, Additive v, Num n)
+ Diagrams.Core: type Monoid' m = (Semigroup m, Monoid m)
+ Diagrams.Core: type OrderedField s = (Floating s, Ord s)
+ Diagrams.Core: type SameSpace a b = (V a ~ V b, N a ~ N b)
+ Diagrams.Core: type TypeableFloat n = (Typeable n, RealFloat n)
+ Diagrams.Core.Envelope: type OrderedField s = (Floating s, Ord s)
+ Diagrams.Core.Transform: type HasBasis v = (Additive v, Representable v, Rep v ~ E v)
+ Diagrams.Core.Transform: type HasLinearMap v = (HasBasis v, Traversable v)
+ Diagrams.Core.Types: type TypeableFloat n = (Typeable n, RealFloat n)
+ Diagrams.Core.V: type InSpace v n a = (V a ~ v, N a ~ n, Additive v, Num n)
+ Diagrams.Core.V: type SameSpace a b = (V a ~ V b, N a ~ N b)
Files
- CHANGELOG.md +4/−0
- diagrams-core.cabal +3/−3
- src/Diagrams/Core/Compile.hs +2/−0
- src/Diagrams/Core/Envelope.hs +3/−3
- src/Diagrams/Core/HasOrigin.hs +1/−0
- src/Diagrams/Core/Juxtapose.hs +1/−0
- src/Diagrams/Core/Trace.hs +1/−0
- src/Diagrams/Core/Transform.hs +4/−5
- src/Diagrams/Core/Types.hs +5/−5
- src/Diagrams/Core/V.hs +3/−4
CHANGELOG.md view
@@ -1,3 +1,7 @@+## [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+ ## [v1.4.1](https://github.com/diagrams/diagrams-core/tree/v1.4.1) (2018-04-10) * Allow `base-4.11`
diagrams-core.cabal view
@@ -1,5 +1,5 @@ Name: diagrams-core-Version: 1.4.1+Version: 1.4.1.1 Synopsis: Core libraries for diagrams EDSL Description: The core modules underlying diagrams, an embedded domain-specific language@@ -12,7 +12,7 @@ Bug-reports: https://github.com/diagrams/diagrams-core/issues Category: Graphics Build-type: Simple-Cabal-version: >=1.18+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@@ -40,7 +40,7 @@ containers >= 0.4.2 && < 0.6, unordered-containers >= 0.2 && < 0.3, semigroups >= 0.8.4 && < 0.19,- monoid-extras >= 0.3 && < 0.5,+ monoid-extras >= 0.3 && < 0.6, dual-tree >= 0.2 && < 0.3, lens >= 4.0 && < 4.17, linear >= 1.11.3 && < 1.21,
src/Diagrams/Core/Compile.hs view
@@ -1,8 +1,10 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MonoLocalBinds #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} -----------------------------------------------------------------------------
src/Diagrams/Core/Envelope.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE CPP #-}+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}@@ -255,10 +256,9 @@ -- | When dealing with envelopes we often want scalars to be an -- ordered field (i.e. support all four arithmetic operations and be--- totally ordered) so we introduce this class as a convenient+-- totally ordered) so we introduce this constraint as a convenient -- shorthand.-class (Floating s, Ord s) => OrderedField s-instance (Floating s, Ord s) => OrderedField s+type OrderedField s = (Floating s, Ord s) -- | @Enveloped@ abstracts over things which have an envelope. class (Metric (V a), OrderedField (N a)) => Enveloped a where
src/Diagrams/Core/HasOrigin.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}
src/Diagrams/Core/Juxtapose.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}
src/Diagrams/Core/Trace.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-}
src/Diagrams/Core/Transform.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}@@ -308,14 +309,12 @@ -- The Transformable class ------------------------------- ------------------------------------------------------------ --- | 'HasLinearMap' is a poor man's class constraint synonym, just to+-- | 'HasLinearMap' is a constraint synonym, just to -- help shorten some of the ridiculously long constraint sets.-class (HasBasis v, Traversable v) => HasLinearMap v-instance (HasBasis v, Traversable v) => HasLinearMap v+type HasLinearMap v = (HasBasis v, Traversable v) -- | An 'Additive' vector space whose representation is made up of basis elements.-class (Additive v, Representable v, Rep v ~ E v) => HasBasis v-instance (Additive v, Representable v, Rep v ~ E v) => HasBasis v+type HasBasis v = (Additive v, Representable v, Rep v ~ E v) -- | Type class for things @t@ which can be transformed. class Transformable t where
src/Diagrams/Core/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveFunctor #-}@@ -168,11 +169,10 @@ -- XXX TODO: add lots of actual diagrams to illustrate the -- documentation! Haddock supports \<\<inline image urls\>\>. --- | Class of numbers that are 'RealFloat' and 'Typeable'. This class is used to--- shorten type constraints.-class (Typeable n, RealFloat n) => TypeableFloat n-instance (Typeable n, RealFloat n) => TypeableFloat n--- use class instead of type constraint so users don't need constraint kinds pragma+-- | Constraint for numeric types that are 'RealFloat' and 'Typeable',+-- which often occur together. This is used to shorten shorten type+-- constraint contexts.+type TypeableFloat n = (Typeable n, RealFloat n) ------------------------------------------------------------ -- Diagrams ----------------------------------------------
src/Diagrams/Core/V.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-}@@ -77,11 +78,9 @@ -- | @InSpace v n a@ means the type @a@ belongs to the vector space @v n@, -- where @v@ is 'Additive' and @n@ is a 'Num'.-class (V a ~ v, N a ~ n, Additive v, Num n) => InSpace v n a-instance (V a ~ v, N a ~ n, Additive v, Num n) => InSpace v n a+type InSpace v n a = (V a ~ v, N a ~ n, Additive v, Num n) -- | @SameSpace a b@ means the types @a@ and @b@ belong to the same -- vector space @v n@.-class (V a ~ V b, N a ~ N b) => SameSpace a b-instance (V a ~ V b, N a ~ N b) => SameSpace a b+type SameSpace a b = (V a ~ V b, N a ~ N b)