packages feed

diagrams-lib 1.4.2.3 → 1.4.3

raw patch · 32 files changed

+367/−258 lines, 32 filesdep +QuickCheckdep +faildep ~JuicyPixelsdep ~basedep ~hashablePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: QuickCheck, fail

Dependency ranges changed: JuicyPixels, base, hashable, intervals, lens, linear, optparse-applicative, semigroups

API changes (from Hackage documentation)

- Diagrams.Align: instance (Diagrams.Core.V.V b ~ v, Diagrams.Core.V.N b ~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable (Data.Map.Internal.Map k b)
- Diagrams.Align: instance (Diagrams.Core.V.V b ~ v, Diagrams.Core.V.N b ~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable (Data.Set.Internal.Set b)
- Diagrams.Align: instance (Diagrams.Core.V.V b ~ v, Diagrams.Core.V.N b ~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable [b]
- Diagrams.Angle: instance (Diagrams.Core.V.V t ~ Linear.V2.V2, Diagrams.Core.V.N t ~ n, Diagrams.Core.Transform.Transformable t, GHC.Float.Floating n) => Data.Monoid.Action.Action (Diagrams.Angle.Angle n) t
- Diagrams.Angle: instance GHC.Num.Num n => Data.Semigroup.Semigroup (Diagrams.Angle.Angle n)
- Diagrams.Attributes: instance Data.Semigroup.Semigroup (Diagrams.Attributes.Dashing n)
- Diagrams.Attributes: instance Data.Semigroup.Semigroup (Diagrams.Attributes.LineWidth n)
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.FillOpacity
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.LineCap
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.LineJoin
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.LineMiterLimit
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.Opacity
- Diagrams.Attributes: instance Data.Semigroup.Semigroup Diagrams.Attributes.StrokeOpacity
- Diagrams.Attributes: instance a ~ GHC.Types.Double => Diagrams.Attributes.Color (Data.Colour.Internal.AlphaColour a)
- Diagrams.Attributes: instance a ~ GHC.Types.Double => Diagrams.Attributes.Color (Data.Colour.Internal.Colour a)
- Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult (Diagrams.Core.Types.QDiagram b v n Data.Monoid.Any)
- Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [(GHC.Base.String, Diagrams.Core.Types.QDiagram b v n Data.Monoid.Any)]
- Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [Diagrams.Core.Types.QDiagram b v n Data.Monoid.Any]
- Diagrams.BoundingBox: instance (Linear.Vector.Additive v, Data.Foldable.Foldable v, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.BoundingBox.BoundingBox v n) Data.Monoid.Any
- Diagrams.BoundingBox: instance (Linear.Vector.Additive v, GHC.Classes.Ord n) => Data.Semigroup.Semigroup (Diagrams.BoundingBox.BoundingBox v n)
- Diagrams.BoundingBox: instance (Linear.Vector.Additive v, GHC.Classes.Ord n) => Data.Semigroup.Semigroup (Diagrams.BoundingBox.NonEmptyBoundingBox v n)
- Diagrams.Coordinates: instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (a Diagrams.Coordinates.:& b)
- Diagrams.Coordinates: instance (GHC.Classes.Ord b, GHC.Classes.Ord a) => GHC.Classes.Ord (a Diagrams.Coordinates.:& b)
- Diagrams.Coordinates: instance (GHC.Show.Show b, GHC.Show.Show a) => GHC.Show.Show (a Diagrams.Coordinates.:& b)
- Diagrams.Deform: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Located.Located (Diagrams.Trail.Trail u n)) => Diagrams.Deform.Deformable (Diagrams.Located.Located (Diagrams.Trail.Trail v n)) r
- Diagrams.Deform: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Path.Path u n) => Diagrams.Deform.Deformable (Diagrams.Path.Path v n) r
- Diagrams.Deform: instance Data.Semigroup.Semigroup (Diagrams.Deform.Deformation v v n)
- Diagrams.Deform: instance r ~ Linear.Affine.Point u n => Diagrams.Deform.Deformable (Linear.Affine.Point v n) r
- Diagrams.Direction: instance (Diagrams.Core.V.V (v n) ~ v, Diagrams.Core.V.N (v n) ~ n, Diagrams.Core.Transform.Transformable (v n)) => Diagrams.Core.Transform.Transformable (Diagrams.Direction.Direction v n)
- Diagrams.LinearMap: instance (Diagrams.LinearMap.LinearMappable a b, Diagrams.Core.V.N a ~ Diagrams.Core.V.N b, r ~ Diagrams.Located.Located b) => Diagrams.LinearMap.AffineMappable (Diagrams.Located.Located a) r
- Diagrams.LinearMap: instance (Diagrams.LinearMap.LinearMappable a b, r ~ Diagrams.Located.Located b) => Diagrams.LinearMap.LinearMappable (Diagrams.Located.Located a) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r ~ Diagrams.Path.Path u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Path.Path v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r ~ Diagrams.Trail.SegTree u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.SegTree v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r ~ Diagrams.Trail.Trail u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.Trail v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r ~ Diagrams.Trail.Trail' l u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.Trail' l v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Path.Path u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Path.Path v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Trail.SegTree u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.SegTree v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Trail.Trail u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.Trail v n) r
- Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r ~ Diagrams.Trail.Trail' l u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.Trail' l v n) r
- Diagrams.LinearMap: instance (Linear.Vector.Additive v, GHC.Num.Num n, r ~ Linear.Affine.Point u n) => Diagrams.LinearMap.AffineMappable (Linear.Affine.Point v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.FixedSegment u m => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.FixedSegment v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.FixedSegment u n => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.FixedSegment v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.Offset c u m => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.Offset c v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.Offset c u n => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.Offset c v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.Segment c u m => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.Segment c v n) r
- Diagrams.LinearMap: instance r ~ Diagrams.Segment.Segment c u n => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.Segment c v n) r
- Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, Diagrams.Parametric.EndValues a, Diagrams.Parametric.Codomain a ~ v) => Diagrams.Parametric.EndValues (Diagrams.Located.Located a)
- Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, Diagrams.Parametric.Parametric a, Diagrams.Parametric.Codomain a ~ v) => Diagrams.Parametric.Parametric (Diagrams.Located.Located a)
- Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, GHC.Real.Fractional n, Diagrams.Parametric.HasArcLength a, Diagrams.Parametric.Codomain a ~ v) => Diagrams.Parametric.HasArcLength (Diagrams.Located.Located a)
- Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, GHC.Real.Fractional n, Diagrams.Parametric.Parametric a, Diagrams.Parametric.Sectionable a, Diagrams.Parametric.Codomain a ~ v) => Diagrams.Parametric.Sectionable (Diagrams.Located.Located a)
- Diagrams.Path: instance Data.Semigroup.Semigroup (Diagrams.Path.Path v n)
- Diagrams.Segment: instance (GHC.Num.Num n, GHC.Classes.Ord n) => Data.Semigroup.Semigroup (Diagrams.Segment.ArcLength n)
- Diagrams.Segment: instance (GHC.Num.Num n, Linear.Vector.Additive v) => Data.Semigroup.Semigroup (Diagrams.Segment.TotalOffset v n)
- Diagrams.Segment: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n) => Data.Semigroup.Semigroup (Diagrams.Segment.OffsetEnvelope v n)
- Diagrams.Segment: instance Data.Semigroup.Semigroup Diagrams.Segment.SegCount
- Diagrams.ThreeD.Attributes: instance Data.Semigroup.Semigroup Diagrams.ThreeD.Attributes.Ambient
- Diagrams.ThreeD.Attributes: instance Data.Semigroup.Semigroup Diagrams.ThreeD.Attributes.Diffuse
- Diagrams.ThreeD.Attributes: instance Data.Semigroup.Semigroup Diagrams.ThreeD.Attributes.Highlight
- Diagrams.ThreeD.Attributes: instance Data.Semigroup.Semigroup Diagrams.ThreeD.Attributes.SurfaceColor
- Diagrams.ThreeD.Shapes: instance (GHC.Float.Floating n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.CSG n) Data.Monoid.Any
- Diagrams.ThreeD.Shapes: instance (GHC.Num.Num n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Box n) Data.Monoid.Any
- Diagrams.ThreeD.Shapes: instance (GHC.Num.Num n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Ellipsoid n) Data.Monoid.Any
- Diagrams.ThreeD.Shapes: instance Diagrams.Core.Envelope.OrderedField n => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Frustum n) Data.Monoid.Any
- Diagrams.Trail: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v) => Data.Semigroup.Semigroup (Diagrams.Trail.Trail v n)
- Diagrams.Trail: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v) => Data.Semigroup.Semigroup (Diagrams.Trail.Trail' Diagrams.Trail.Line v n)
- Diagrams.Trail: instance (GHC.Classes.Ord n, GHC.Float.Floating n, Linear.Metric.Metric v) => Data.Semigroup.Semigroup (Diagrams.Trail.SegTree v n)
- Diagrams.Trail: instance (Linear.Metric.Metric v, GHC.Classes.Ord n, GHC.Float.Floating n) => Data.FingerTree.Measured (Diagrams.Segment.SegMeasure v n) (Diagrams.Trail.SegTree v n)
- Diagrams.Trail: instance (Linear.Metric.Metric v, GHC.Classes.Ord n, GHC.Float.Floating n) => Diagrams.Core.Transform.Transformable (Diagrams.Trail.SegTree v n)
- Diagrams.Trail: instance (Linear.Metric.Metric v, GHC.Classes.Ord n, GHC.Float.Floating n) => GHC.Base.Monoid (Diagrams.Trail.SegTree v n)
- Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t ~ Linear.V2.V2, Diagrams.Core.V.N t ~ n, GHC.Float.RealFloat n, Diagrams.Core.Transform.Transformable t) => Diagrams.Core.Transform.Transformable (Diagrams.Transform.ScaleInv.ScaleInv t)
- Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t ~ Linear.V2.V2, Diagrams.Core.V.N t ~ n, GHC.Float.RealFloat n, Diagrams.Core.Types.Renderable t b) => Diagrams.Core.Types.Renderable (Diagrams.Transform.ScaleInv.ScaleInv t) b
- Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t ~ v, Diagrams.Core.V.N t ~ n, Linear.Vector.Additive v, GHC.Num.Num n, Diagrams.Core.HasOrigin.HasOrigin t) => Diagrams.Core.HasOrigin.HasOrigin (Diagrams.Transform.ScaleInv.ScaleInv t)
- Diagrams.TwoD.Attributes: instance Data.Semigroup.Semigroup (Diagrams.TwoD.Attributes.FillTexture n)
- Diagrams.TwoD.Attributes: instance Data.Semigroup.Semigroup (Diagrams.TwoD.Attributes.LineTexture n)
- Diagrams.TwoD.Image: instance GHC.Float.RealFloat n => Diagrams.Query.HasQuery (Diagrams.TwoD.Image.DImage n a) Data.Monoid.Any
- Diagrams.TwoD.Path: instance (Diagrams.Core.Types.TypeableFloat n, Diagrams.Core.Types.Renderable (Diagrams.Path.Path Linear.V2.V2 n) b) => Diagrams.TrailLike.TrailLike (Diagrams.Core.Types.QDiagram b Linear.V2.V2 n Data.Monoid.Any)
- Diagrams.TwoD.Path: instance Data.Semigroup.Semigroup (Diagrams.TwoD.Path.Clip n)
- Diagrams.TwoD.Path: instance Data.Semigroup.Semigroup Diagrams.TwoD.Path.Crossings
- Diagrams.TwoD.Path: instance Data.Semigroup.Semigroup Diagrams.TwoD.Path.FillRule
- Diagrams.TwoD.Path: instance Diagrams.TwoD.Path.Clip n1 ~ t => Control.Lens.Wrapped.Rewrapped (Diagrams.TwoD.Path.Clip n2) t
- Diagrams.TwoD.Path: instance GHC.Float.RealFloat n => Diagrams.Query.HasQuery (Diagrams.TwoD.Path.Clip n) Data.Monoid.All
- Diagrams.TwoD.Text: instance Data.Semigroup.Semigroup (Diagrams.TwoD.Text.FontSize n)
- Diagrams.TwoD.Text: instance Data.Semigroup.Semigroup Diagrams.TwoD.Text.Font
- Diagrams.TwoD.Text: instance Data.Semigroup.Semigroup Diagrams.TwoD.Text.FontSlant
- Diagrams.TwoD.Text: instance Data.Semigroup.Semigroup Diagrams.TwoD.Text.FontWeight
+ Diagrams: GetSegment :: t -> GetSegment t
+ Diagrams: GetSegmentCodomain :: Maybe (v n, Segment Closed v n, AnIso' n n) -> GetSegmentCodomain v n
+ Diagrams: Path :: [Located (Trail v n)] -> Path v n
+ Diagrams: SegTree :: FingerTree (SegMeasure v n) (Segment Closed v n) -> SegTree v n
+ Diagrams: [Line] :: SegTree v n -> Trail' Line v n
+ Diagrams: [Loop] :: SegTree v n -> Segment Open v n -> Trail' Loop v n
+ Diagrams: [Trail] :: Trail' l v n -> Trail v n
+ Diagrams: _Dir :: Iso' (Direction v n) (v n)
+ Diagrams: _Line :: Prism' (Trail v n) (Trail' Line v n)
+ Diagrams: _LocLine :: Prism' (Located (Trail v n)) (Located (Trail' Line v n))
+ Diagrams: _LocLoop :: Prism' (Located (Trail v n)) (Located (Trail' Loop v n))
+ Diagrams: _Loop :: Prism' (Trail v n) (Trail' Loop v n)
+ Diagrams: angleBetweenDirs :: (Metric v, Floating n, Ord n) => Direction v n -> Direction v n -> Angle n
+ Diagrams: boundingBox :: (InSpace v n a, HasBasis v, Enveloped a) => a -> BoundingBox v n
+ Diagrams: boxCenter :: (Additive v, Fractional n) => BoundingBox v n -> Maybe (Point v n)
+ Diagrams: boxExtents :: (Additive v, Num n) => BoundingBox v n -> v n
+ Diagrams: boxFit :: (InSpace v n a, HasBasis v, Enveloped a, Transformable a, Monoid a) => BoundingBox v n -> a -> a
+ Diagrams: boxGrid :: (Traversable v, Additive v, Num n, Enum n) => n -> BoundingBox v n -> [Point v n]
+ Diagrams: boxTransform :: (Additive v, Fractional n) => BoundingBox v n -> BoundingBox v n -> Maybe (Transformation v n)
+ Diagrams: centerPoint :: (InSpace v n a, HasBasis v, Enveloped a) => a -> Point v n
+ Diagrams: class ToPath t
+ Diagrams: closeLine :: Trail' Line v n -> Trail' Loop v n
+ Diagrams: closeTrail :: Trail v n -> Trail v n
+ Diagrams: contains' :: (Additive v, Foldable v, Ord n) => BoundingBox v n -> Point v n -> Bool
+ Diagrams: cutLoop :: forall v n. (Metric v, OrderedField n) => Trail' Loop v n -> Trail' Line v n
+ Diagrams: cutTrail :: (Metric v, OrderedField n) => Trail v n -> Trail v n
+ Diagrams: data BoundingBox v n
+ Diagrams: data Direction v n
+ Diagrams: data Line
+ Diagrams: data Loop
+ Diagrams: data Trail v n
+ Diagrams: data Trail' l v n
+ Diagrams: dirBetween :: (Additive v, Num n) => Point v n -> Point v n -> Direction v n
+ Diagrams: direction :: v n -> Direction v n
+ Diagrams: emptyBox :: BoundingBox v n
+ Diagrams: emptyLine :: (Metric v, OrderedField n) => Trail' Line v n
+ Diagrams: emptyTrail :: (Metric v, OrderedField n) => Trail v n
+ Diagrams: explodePath :: (V t ~ v, N t ~ n, TrailLike t) => Path v n -> [[t]]
+ Diagrams: fixPath :: (Metric v, OrderedField n) => Path v n -> [[FixedSegment v n]]
+ Diagrams: fixTrail :: (Metric v, OrderedField n) => Located (Trail v n) -> [FixedSegment v n]
+ Diagrams: fromCorners :: (Additive v, Foldable v, Ord n) => Point v n -> Point v n -> BoundingBox v n
+ Diagrams: fromDir :: (Metric v, Floating n) => Direction v n -> v n
+ Diagrams: fromDirection :: (Metric v, Floating n) => Direction v n -> v n
+ Diagrams: fromPoint :: Point v n -> BoundingBox v n
+ Diagrams: fromPoints :: (Additive v, Ord n) => [Point v n] -> BoundingBox v n
+ Diagrams: getAllCorners :: (Additive v, Traversable v) => BoundingBox v n -> [Point v n]
+ Diagrams: getCorners :: BoundingBox v n -> Maybe (Point v n, Point v n)
+ Diagrams: getSegment :: t -> GetSegment t
+ Diagrams: glueLine :: (Metric v, OrderedField n) => Trail' Line v n -> Trail' Loop v n
+ Diagrams: glueTrail :: (Metric v, OrderedField n) => Trail v n -> Trail v n
+ Diagrams: inside' :: (Additive v, Foldable v, Ord n) => BoundingBox v n -> BoundingBox v n -> Bool
+ Diagrams: isEmptyBox :: BoundingBox v n -> Bool
+ Diagrams: isLine :: Trail v n -> Bool
+ Diagrams: isLineEmpty :: (Metric v, OrderedField n) => Trail' Line v n -> Bool
+ Diagrams: isLoop :: Trail v n -> Bool
+ Diagrams: isTrailEmpty :: (Metric v, OrderedField n) => Trail v n -> Bool
+ Diagrams: lineFromOffsets :: (Metric v, OrderedField n) => [v n] -> Trail' Line v n
+ Diagrams: lineFromSegments :: (Metric v, OrderedField n) => [Segment Closed v n] -> Trail' Line v n
+ Diagrams: lineFromVertices :: (Metric v, OrderedField n) => [Point v n] -> Trail' Line v n
+ Diagrams: lineOffset :: (Metric v, OrderedField n) => Trail' Line v n -> v n
+ Diagrams: lineOffsets :: Trail' Line v n -> [v n]
+ Diagrams: lineSegments :: Trail' Line v n -> [Segment Closed v n]
+ Diagrams: lineVertices :: (Metric v, OrderedField n) => Located (Trail' Line v n) -> [Point v n]
+ Diagrams: lineVertices' :: (Metric v, OrderedField n) => n -> Located (Trail' Line v n) -> [Point v n]
+ Diagrams: loopFromSegments :: (Metric v, OrderedField n) => [Segment Closed v n] -> Segment Open v n -> Trail' Loop v n
+ Diagrams: loopOffsets :: (Metric v, OrderedField n) => Trail' Loop v n -> [v n]
+ Diagrams: loopSegments :: Trail' Loop v n -> ([Segment Closed v n], Segment Open v n)
+ Diagrams: loopVertices :: (Metric v, OrderedField n) => Located (Trail' Loop v n) -> [Point v n]
+ Diagrams: loopVertices' :: (Metric v, OrderedField n) => n -> Located (Trail' Loop v n) -> [Point v n]
+ Diagrams: mCenterPoint :: (InSpace v n a, HasBasis v, Enveloped a) => a -> Maybe (Point v n)
+ Diagrams: newtype GetSegment t
+ Diagrams: newtype GetSegmentCodomain v n
+ Diagrams: newtype Path v n
+ Diagrams: newtype SegTree v n
+ Diagrams: numSegs :: (Num c, Measured (SegMeasure v n) a) => a -> c
+ Diagrams: offset :: (OrderedField n, Metric v, Measured (SegMeasure v n) t) => t -> v n
+ Diagrams: onLine :: (Metric v, OrderedField n) => (Trail' Line v n -> Trail' Line v n) -> Trail v n -> Trail v n
+ Diagrams: onLineSegments :: (Metric v, OrderedField n) => ([Segment Closed v n] -> [Segment Closed v n]) -> Trail' Line v n -> Trail' Line v n
+ Diagrams: onTrail :: (Trail' Line v n -> Trail' l1 v n) -> (Trail' Loop v n -> Trail' l2 v n) -> Trail v n -> Trail v n
+ Diagrams: outside' :: (Additive v, Foldable v, Ord n) => BoundingBox v n -> BoundingBox v n -> Bool
+ Diagrams: partitionPath :: (Located (Trail v n) -> Bool) -> Path v n -> (Path v n, Path v n)
+ Diagrams: pathCentroid :: (Metric v, OrderedField n) => Path v n -> Point v n
+ Diagrams: pathFromLocTrail :: (Metric v, OrderedField n) => Located (Trail v n) -> Path v n
+ Diagrams: pathFromTrail :: (Metric v, OrderedField n) => Trail v n -> Path v n
+ Diagrams: pathFromTrailAt :: (Metric v, OrderedField n) => Trail v n -> Point v n -> Path v n
+ Diagrams: pathLocSegments :: (Metric v, OrderedField n) => Path v n -> [[Located (Segment Closed v n)]]
+ Diagrams: pathOffsets :: (Metric v, OrderedField n) => Path v n -> [v n]
+ Diagrams: pathTrails :: Path v n -> [Located (Trail v n)]
+ Diagrams: pathVertices :: (Metric v, OrderedField n) => Path v n -> [[Point v n]]
+ Diagrams: pathVertices' :: (Metric v, OrderedField n) => n -> Path v n -> [[Point v n]]
+ Diagrams: reverseLine :: (Metric v, OrderedField n) => Trail' Line v n -> Trail' Line v n
+ Diagrams: reverseLocLine :: (Metric v, OrderedField n) => Located (Trail' Line v n) -> Located (Trail' Line v n)
+ Diagrams: reverseLocLoop :: (Metric v, OrderedField n) => Located (Trail' Loop v n) -> Located (Trail' Loop v n)
+ Diagrams: reverseLocTrail :: (Metric v, OrderedField n) => Located (Trail v n) -> Located (Trail v n)
+ Diagrams: reverseLoop :: (Metric v, OrderedField n) => Trail' Loop v n -> Trail' Loop v n
+ Diagrams: reversePath :: (Metric v, OrderedField n) => Path v n -> Path v n
+ Diagrams: reverseTrail :: (Metric v, OrderedField n) => Trail v n -> Trail v n
+ Diagrams: scalePath :: (HasLinearMap v, Metric v, OrderedField n) => n -> Path v n -> Path v n
+ Diagrams: toPath :: (ToPath t, Metric (V t), OrderedField (N t)) => t -> Path (V t) (N t)
+ Diagrams: trailFromOffsets :: (Metric v, OrderedField n) => [v n] -> Trail v n
+ Diagrams: trailFromSegments :: (Metric v, OrderedField n) => [Segment Closed v n] -> Trail v n
+ Diagrams: trailFromVertices :: (Metric v, OrderedField n) => [Point v n] -> Trail v n
+ Diagrams: trailLocSegments :: (Metric v, OrderedField n) => Located (Trail v n) -> [Located (Segment Closed v n)]
+ Diagrams: trailMeasure :: (SegMeasure v n :>: m, Measured (SegMeasure v n) t) => a -> (m -> a) -> t -> a
+ Diagrams: trailOffset :: (Metric v, OrderedField n) => Trail v n -> v n
+ Diagrams: trailOffsets :: (Metric v, OrderedField n) => Trail v n -> [v n]
+ Diagrams: trailSegments :: (Metric v, OrderedField n) => Trail v n -> [Segment Closed v n]
+ Diagrams: trailVertices :: (Metric v, OrderedField n) => Located (Trail v n) -> [Point v n]
+ Diagrams: trailVertices' :: (Metric v, OrderedField n) => n -> Located (Trail v n) -> [Point v n]
+ Diagrams: unfixTrail :: (Metric v, Ord n, Floating n) => [FixedSegment v n] -> Located (Trail v n)
+ Diagrams: withLine :: (Metric v, OrderedField n) => (Trail' Line v n -> r) -> Trail v n -> r
+ Diagrams: withTrail :: (Trail' Line v n -> r) -> (Trail' Loop v n -> r) -> Trail v n -> r
+ Diagrams: withTrail' :: (Trail' Line v n -> r) -> (Trail' Loop v n -> r) -> Trail' l v n -> r
+ Diagrams: wrapLine :: Trail' Line v n -> Trail v n
+ Diagrams: wrapLoop :: Trail' Loop v n -> Trail v n
+ Diagrams: wrapTrail :: Trail' l v n -> Trail v n
+ Diagrams.Align: instance (Diagrams.Core.V.V b Data.Type.Equality.~ v, Diagrams.Core.V.N b Data.Type.Equality.~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable (Data.Map.Internal.Map k b)
+ Diagrams.Align: instance (Diagrams.Core.V.V b Data.Type.Equality.~ v, Diagrams.Core.V.N b Data.Type.Equality.~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable (Data.Set.Internal.Set b)
+ Diagrams.Align: instance (Diagrams.Core.V.V b Data.Type.Equality.~ v, Diagrams.Core.V.N b Data.Type.Equality.~ n, Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n, Diagrams.Align.Alignable b) => Diagrams.Align.Alignable [b]
+ Diagrams.Angle: instance (Diagrams.Core.V.V t Data.Type.Equality.~ Linear.V2.V2, Diagrams.Core.V.N t Data.Type.Equality.~ n, Diagrams.Core.Transform.Transformable t, GHC.Float.Floating n) => Data.Monoid.Action.Action (Diagrams.Angle.Angle n) t
+ Diagrams.Angle: instance GHC.Num.Num n => GHC.Base.Semigroup (Diagrams.Angle.Angle n)
+ Diagrams.Attributes: instance (a Data.Type.Equality.~ GHC.Types.Double) => Diagrams.Attributes.Color (Data.Colour.Internal.AlphaColour a)
+ Diagrams.Attributes: instance (a Data.Type.Equality.~ GHC.Types.Double) => Diagrams.Attributes.Color (Data.Colour.Internal.Colour a)
+ Diagrams.Attributes: instance GHC.Base.Semigroup (Diagrams.Attributes.Dashing n)
+ Diagrams.Attributes: instance GHC.Base.Semigroup (Diagrams.Attributes.LineWidth n)
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.FillOpacity
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.LineCap
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.LineJoin
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.LineMiterLimit
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.Opacity
+ Diagrams.Attributes: instance GHC.Base.Semigroup Diagrams.Attributes.StrokeOpacity
+ Diagrams.Backend.CmdLine: -- from the command-line and passed to <tt>mainRender</tt>.
+ Diagrams.Backend.CmdLine: -- | Associated type that describes the options which need to be parsed
+ Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult (Diagrams.Core.Types.QDiagram b v n Data.Semigroup.Internal.Any)
+ Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [(GHC.Base.String, Diagrams.Core.Types.QDiagram b v n Data.Semigroup.Internal.Any)]
+ Diagrams.Backend.CmdLine: instance Diagrams.Backend.CmdLine.ToResult [Diagrams.Core.Types.QDiagram b v n Data.Semigroup.Internal.Any]
+ Diagrams.BoundingBox: instance (Linear.Vector.Additive v, Data.Foldable.Foldable v, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.BoundingBox.BoundingBox v n) Data.Semigroup.Internal.Any
+ Diagrams.BoundingBox: instance (Linear.Vector.Additive v, GHC.Classes.Ord n) => GHC.Base.Semigroup (Diagrams.BoundingBox.BoundingBox v n)
+ Diagrams.BoundingBox: instance (Linear.Vector.Additive v, GHC.Classes.Ord n) => GHC.Base.Semigroup (Diagrams.BoundingBox.NonEmptyBoundingBox v n)
+ Diagrams.Coordinates: -- | Decomposition of <tt>c</tt> into applications of <a>:&amp;</a>.
+ Diagrams.Coordinates: infixl 7 ^&
+ Diagrams.Coordinates: instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (a Diagrams.Coordinates.:& b)
+ Diagrams.Coordinates: instance (GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (a Diagrams.Coordinates.:& b)
+ Diagrams.Coordinates: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (a Diagrams.Coordinates.:& b)
+ Diagrams.Deform: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Located.Located (Diagrams.Trail.Trail u n)) => Diagrams.Deform.Deformable (Diagrams.Located.Located (Diagrams.Trail.Trail v n)) r
+ Diagrams.Deform: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Path.Path u n) => Diagrams.Deform.Deformable (Diagrams.Path.Path v n) r
+ Diagrams.Deform: instance (r Data.Type.Equality.~ Linear.Affine.Point u n) => Diagrams.Deform.Deformable (Linear.Affine.Point v n) r
+ Diagrams.Deform: instance GHC.Base.Semigroup (Diagrams.Deform.Deformation v v n)
+ Diagrams.Direction: instance (Diagrams.Core.V.V (v n) Data.Type.Equality.~ v, Diagrams.Core.V.N (v n) Data.Type.Equality.~ n, Diagrams.Core.Transform.Transformable (v n)) => Diagrams.Core.Transform.Transformable (Diagrams.Direction.Direction v n)
+ Diagrams.LinearMap: instance (Diagrams.LinearMap.LinearMappable a b, Diagrams.Core.V.N a Data.Type.Equality.~ Diagrams.Core.V.N b, r Data.Type.Equality.~ Diagrams.Located.Located b) => Diagrams.LinearMap.AffineMappable (Diagrams.Located.Located a) r
+ Diagrams.LinearMap: instance (Diagrams.LinearMap.LinearMappable a b, r Data.Type.Equality.~ Diagrams.Located.Located b) => Diagrams.LinearMap.LinearMappable (Diagrams.Located.Located a) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r Data.Type.Equality.~ Diagrams.Path.Path u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Path.Path v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r Data.Type.Equality.~ Diagrams.Trail.SegTree u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.SegTree v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r Data.Type.Equality.~ Diagrams.Trail.Trail u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.Trail v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, Diagrams.Core.Envelope.OrderedField m, r Data.Type.Equality.~ Diagrams.Trail.Trail' l u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Trail.Trail' l v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Path.Path u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Path.Path v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Trail.SegTree u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.SegTree v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Trail.Trail u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.Trail v n) r
+ Diagrams.LinearMap: instance (Linear.Metric.Metric v, Linear.Metric.Metric u, Diagrams.Core.Envelope.OrderedField n, r Data.Type.Equality.~ Diagrams.Trail.Trail' l u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Trail.Trail' l v n) r
+ Diagrams.LinearMap: instance (Linear.Vector.Additive v, GHC.Num.Num n, r Data.Type.Equality.~ Linear.Affine.Point u n) => Diagrams.LinearMap.AffineMappable (Linear.Affine.Point v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.FixedSegment u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.FixedSegment v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.FixedSegment u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.FixedSegment v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.Offset c u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.Offset c v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.Offset c u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.Offset c v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.Segment c u m) => Diagrams.LinearMap.LinearMappable (Diagrams.Segment.Segment c v n) r
+ Diagrams.LinearMap: instance (r Data.Type.Equality.~ Diagrams.Segment.Segment c u n) => Diagrams.LinearMap.AffineMappable (Diagrams.Segment.Segment c v n) r
+ Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, Diagrams.Parametric.EndValues a, Diagrams.Parametric.Codomain a Data.Type.Equality.~ v) => Diagrams.Parametric.EndValues (Diagrams.Located.Located a)
+ Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, Diagrams.Parametric.Parametric a, Diagrams.Parametric.Codomain a Data.Type.Equality.~ v) => Diagrams.Parametric.Parametric (Diagrams.Located.Located a)
+ Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, GHC.Real.Fractional n, Diagrams.Parametric.HasArcLength a, Diagrams.Parametric.Codomain a Data.Type.Equality.~ v) => Diagrams.Parametric.HasArcLength (Diagrams.Located.Located a)
+ Diagrams.Located: instance (Diagrams.Core.V.InSpace v n a, GHC.Real.Fractional n, Diagrams.Parametric.Parametric a, Diagrams.Parametric.Sectionable a, Diagrams.Parametric.Codomain a Data.Type.Equality.~ v) => Diagrams.Parametric.Sectionable (Diagrams.Located.Located a)
+ Diagrams.Parametric: type family Codomain p :: * -> *
+ Diagrams.Path: instance GHC.Base.Semigroup (Diagrams.Path.Path v n)
+ Diagrams.Prelude: (#%%=) :: MonadState s m => ALens s s a b -> (a -> (r, b)) -> m r
+ Diagrams.Prelude: (#%%~) :: Functor f => ALens s t a b -> (a -> f b) -> s -> f t
+ Diagrams.Prelude: (#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m ()
+ Diagrams.Prelude: (#%~) :: () => ALens s t a b -> (a -> b) -> s -> t
+ Diagrams.Prelude: (#=) :: MonadState s m => ALens s s a b -> b -> m ()
+ Diagrams.Prelude: (#~) :: () => ALens s t a b -> b -> s -> t
+ Diagrams.Prelude: (%%=) :: MonadState s m => Over p ((,) r) s s a b -> p a (r, b) -> m r
+ Diagrams.Prelude: (%%@=) :: MonadState s m => Over (Indexed i) ((,) r) s s a b -> (i -> a -> (r, b)) -> m r
+ Diagrams.Prelude: (%%@~) :: () => Over (Indexed i) f s t a b -> (i -> a -> f b) -> s -> f t
+ Diagrams.Prelude: (%%~) :: () => LensLike f s t a b -> (a -> f b) -> s -> f t
+ Diagrams.Prelude: (%=) :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()
+ Diagrams.Prelude: (%@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m ()
+ Diagrams.Prelude: (%@~) :: () => AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
+ Diagrams.Prelude: (%~) :: () => ASetter s t a b -> (a -> b) -> s -> t
+ Diagrams.Prelude: (&&=) :: MonadState s m => ASetter' s Bool -> Bool -> m ()
+ Diagrams.Prelude: (&&~) :: () => ASetter s t Bool Bool -> Bool -> s -> t
+ Diagrams.Prelude: (&) :: () => a -> (a -> b) -> b
+ Diagrams.Prelude: (&~) :: () => s -> State s a -> s
+ Diagrams.Prelude: (**=) :: (MonadState s m, Floating a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (**~) :: Floating a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (*=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (*~) :: Num a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (+=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (+~) :: Num a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (-=) :: (MonadState s m, Num a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (-~) :: Num a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (.=) :: MonadState s m => ASetter s s a b -> b -> m ()
+ Diagrams.Prelude: (.@=) :: MonadState s m => AnIndexedSetter i s s a b -> (i -> b) -> m ()
+ Diagrams.Prelude: (.@~) :: () => AnIndexedSetter i s t a b -> (i -> b) -> s -> t
+ Diagrams.Prelude: (.~) :: () => ASetter s t a b -> b -> s -> t
+ Diagrams.Prelude: (//=) :: (MonadState s m, Fractional a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (//~) :: Fractional a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (<#%=) :: MonadState s m => ALens s s a b -> (a -> b) -> m b
+ Diagrams.Prelude: (<#%~) :: () => ALens s t a b -> (a -> b) -> s -> (b, t)
+ Diagrams.Prelude: (<#=) :: MonadState s m => ALens s s a b -> b -> m b
+ Diagrams.Prelude: (<#~) :: () => ALens s t a b -> b -> s -> (b, t)
+ Diagrams.Prelude: (<%=) :: MonadState s m => LensLike ((,) b) s s a b -> (a -> b) -> m b
+ Diagrams.Prelude: (<%@=) :: MonadState s m => Over (Indexed i) ((,) b) s s a b -> (i -> a -> b) -> m b
+ Diagrams.Prelude: (<%@~) :: () => Over (Indexed i) ((,) b) s t a b -> (i -> a -> b) -> s -> (b, t)
+ Diagrams.Prelude: (<%~) :: () => LensLike ((,) b) s t a b -> (a -> b) -> s -> (b, t)
+ Diagrams.Prelude: (<&&=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
+ Diagrams.Prelude: (<&&~) :: () => LensLike ((,) Bool) s t Bool Bool -> Bool -> s -> (Bool, t)
+ Diagrams.Prelude: (<&>) :: Functor f => f a -> (a -> b) -> f b
+ Diagrams.Prelude: (<**=) :: (MonadState s m, Floating a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<**~) :: Floating a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
+ Diagrams.Prelude: (<*=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<*~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
+ Diagrams.Prelude: (<+=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<+~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
+ Diagrams.Prelude: (<-=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<-~) :: Num a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
+ Diagrams.Prelude: (<.) :: Indexable i p => (Indexed i s t -> r) -> ((a -> b) -> s -> t) -> p a b -> r
+ Diagrams.Prelude: (<.=) :: MonadState s m => ASetter s s a b -> b -> m b
+ Diagrams.Prelude: (<.~) :: () => ASetter s t a b -> b -> s -> (b, t)
+ Diagrams.Prelude: (<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<//~) :: Fractional a => LensLike ((,) a) s t a a -> a -> s -> (a, t)
+ Diagrams.Prelude: (<<%=) :: (Strong p, MonadState s m) => Over p ((,) a) s s a b -> p a b -> m a
+ Diagrams.Prelude: (<<%@=) :: MonadState s m => Over (Indexed i) ((,) a) s s a b -> (i -> a -> b) -> m a
+ Diagrams.Prelude: (<<%@~) :: () => Over (Indexed i) ((,) a) s t a b -> (i -> a -> b) -> s -> (a, t)
+ Diagrams.Prelude: (<<%~) :: () => LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t)
+ Diagrams.Prelude: (<<&&=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
+ Diagrams.Prelude: (<<&&~) :: () => LensLike' ((,) Bool) s Bool -> Bool -> s -> (Bool, s)
+ Diagrams.Prelude: (<<**=) :: (MonadState s m, Floating a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<<**~) :: Floating a => LensLike' ((,) a) s a -> a -> s -> (a, s)
+ Diagrams.Prelude: (<<*=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<<*~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
+ Diagrams.Prelude: (<<+=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<<+~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
+ Diagrams.Prelude: (<<-=) :: (MonadState s m, Num a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<<-~) :: Num a => LensLike' ((,) a) s a -> a -> s -> (a, s)
+ Diagrams.Prelude: (<<.=) :: MonadState s m => LensLike ((,) a) s s a b -> b -> m a
+ Diagrams.Prelude: (<<.~) :: () => LensLike ((,) a) s t a b -> b -> s -> (a, t)
+ Diagrams.Prelude: (<<//=) :: (MonadState s m, Fractional a) => LensLike' ((,) a) s a -> a -> m a
+ Diagrams.Prelude: (<<//~) :: Fractional a => LensLike' ((,) a) s a -> a -> s -> (a, s)
+ Diagrams.Prelude: (<<<>=) :: (MonadState s m, Monoid r) => LensLike' ((,) r) s r -> r -> m r
+ Diagrams.Prelude: (<<<>~) :: Monoid r => LensLike' ((,) r) s r -> r -> s -> (r, s)
+ Diagrams.Prelude: (<<>=) :: (MonadState s m, Monoid r) => LensLike' ((,) r) s r -> r -> m r
+ Diagrams.Prelude: (<<>~) :: Monoid m => LensLike ((,) m) s t m m -> m -> s -> (m, t)
+ Diagrams.Prelude: (<<?=) :: MonadState s m => LensLike ((,) a) s s a (Maybe b) -> b -> m a
+ Diagrams.Prelude: (<<?~) :: () => LensLike ((,) a) s t a (Maybe b) -> b -> s -> (a, t)
+ Diagrams.Prelude: (<<^=) :: (MonadState s m, Num a, Integral e) => LensLike' ((,) a) s a -> e -> m a
+ Diagrams.Prelude: (<<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a
+ Diagrams.Prelude: (<<^^~) :: (Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> s -> (a, s)
+ Diagrams.Prelude: (<<^~) :: (Num a, Integral e) => LensLike' ((,) a) s a -> e -> s -> (a, s)
+ Diagrams.Prelude: (<<||=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
+ Diagrams.Prelude: (<<||~) :: () => LensLike' ((,) Bool) s Bool -> Bool -> s -> (Bool, s)
+ Diagrams.Prelude: (<<~) :: MonadState s m => ALens s s a b -> m b -> m b
+ Diagrams.Prelude: (<>=) :: (MonadState s m, Monoid a) => ASetter' s a -> a -> m ()
+ Diagrams.Prelude: (<>~) :: Monoid a => ASetter s t a a -> a -> s -> t
+ Diagrams.Prelude: (<?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m b
+ Diagrams.Prelude: (<?~) :: () => ASetter s t a (Maybe b) -> b -> s -> (b, t)
+ Diagrams.Prelude: (<^=) :: (MonadState s m, Num a, Integral e) => LensLike' ((,) a) s a -> e -> m a
+ Diagrams.Prelude: (<^^=) :: (MonadState s m, Fractional a, Integral e) => LensLike' ((,) a) s a -> e -> m a
+ Diagrams.Prelude: (<^^~) :: (Fractional a, Integral e) => LensLike ((,) a) s t a a -> e -> s -> (a, t)
+ Diagrams.Prelude: (<^~) :: (Num a, Integral e) => LensLike ((,) a) s t a a -> e -> s -> (a, t)
+ Diagrams.Prelude: (<|) :: Cons s s a a => a -> s -> s
+ Diagrams.Prelude: (<||=) :: MonadState s m => LensLike' ((,) Bool) s Bool -> Bool -> m Bool
+ Diagrams.Prelude: (<||~) :: () => LensLike ((,) Bool) s t Bool Bool -> Bool -> s -> (Bool, t)
+ Diagrams.Prelude: (<~) :: MonadState s m => ASetter s s a b -> m b -> m ()
+ Diagrams.Prelude: (>$) :: Contravariant f => b -> f b -> f a
+ Diagrams.Prelude: (?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m ()
+ Diagrams.Prelude: (??) :: Functor f => f (a -> b) -> a -> f b
+ Diagrams.Prelude: (?~) :: () => ASetter s t a (Maybe b) -> b -> s -> t
+ Diagrams.Prelude: (^#) :: () => s -> ALens s t a b -> a
+ Diagrams.Prelude: (^.) :: () => s -> Getting a s a -> a
+ Diagrams.Prelude: (^..) :: () => s -> Getting (Endo [a]) s a -> [a]
+ Diagrams.Prelude: (^=) :: (MonadState s m, Num a, Integral e) => ASetter' s a -> e -> m ()
+ Diagrams.Prelude: (^?!) :: HasCallStack => s -> Getting (Endo a) s a -> a
+ Diagrams.Prelude: (^?) :: () => s -> Getting (First a) s a -> Maybe a
+ Diagrams.Prelude: (^@.) :: () => s -> IndexedGetting i (i, a) s a -> (i, a)
+ Diagrams.Prelude: (^@..) :: () => s -> IndexedGetting i (Endo [(i, a)]) s a -> [(i, a)]
+ Diagrams.Prelude: (^@?!) :: HasCallStack => s -> IndexedGetting i (Endo (i, a)) s a -> (i, a)
+ Diagrams.Prelude: (^@?) :: () => s -> IndexedGetting i (Endo (Maybe (i, a))) s a -> Maybe (i, a)
+ Diagrams.Prelude: (^^=) :: (MonadState s m, Fractional a, Integral e) => ASetter' s a -> e -> m ()
+ Diagrams.Prelude: (^^~) :: (Fractional a, Integral e) => ASetter s t a a -> e -> s -> t
+ Diagrams.Prelude: (^~) :: (Num a, Integral e) => ASetter s t a a -> e -> s -> t
+ Diagrams.Prelude: (|>) :: Snoc s s a a => s -> a -> s
+ Diagrams.Prelude: (||=) :: MonadState s m => ASetter' s Bool -> Bool -> m ()
+ Diagrams.Prelude: (||~) :: () => ASetter s t Bool Bool -> Bool -> s -> t
+ Diagrams.Prelude: Bazaar :: (forall (f :: Type -> Type). Applicative f => p a (f b) -> f t) -> Bazaar a b t
+ Diagrams.Prelude: Bazaar1 :: (forall (f :: Type -> Type). Apply f => p a (f b) -> f t) -> Bazaar1 a b t
+ Diagrams.Prelude: Const :: a -> Const a
+ Diagrams.Prelude: Context :: (b -> t) -> a -> Context a b t
+ Diagrams.Prelude: Fold :: Fold s a -> ReifiedFold s a
+ Diagrams.Prelude: Getter :: Getter s a -> ReifiedGetter s a
+ Diagrams.Prelude: Identity :: a -> Identity a
+ Diagrams.Prelude: Indexed :: (i -> a -> b) -> Indexed i a b
+ Diagrams.Prelude: IndexedFold :: IndexedFold i s a -> ReifiedIndexedFold i s a
+ Diagrams.Prelude: IndexedGetter :: IndexedGetter i s a -> ReifiedIndexedGetter i s a
+ Diagrams.Prelude: IndexedLens :: IndexedLens i s t a b -> ReifiedIndexedLens i s t a b
+ Diagrams.Prelude: IndexedSetter :: IndexedSetter i s t a b -> ReifiedIndexedSetter i s t a b
+ Diagrams.Prelude: IndexedTraversal :: IndexedTraversal i s t a b -> ReifiedIndexedTraversal i s t a b
+ Diagrams.Prelude: Iso :: Iso s t a b -> ReifiedIso s t a b
+ Diagrams.Prelude: Lens :: Lens s t a b -> ReifiedLens s t a b
+ Diagrams.Prelude: MethodName :: Name -> Name -> DefName
+ Diagrams.Prelude: Prism :: Prism s t a b -> ReifiedPrism s t a b
+ Diagrams.Prelude: Setter :: Setter s t a b -> ReifiedSetter s t a b
+ Diagrams.Prelude: TopName :: Name -> DefName
+ Diagrams.Prelude: Traversal :: Traversal s t a b -> ReifiedTraversal s t a b
+ Diagrams.Prelude: [Identical] :: forall k k1 (a :: k) (b :: k1) (s :: k) (t :: k1). () => Identical a b a b
+ Diagrams.Prelude: [Refl] :: forall k (a :: k) (b :: k). () => a :~: a
+ Diagrams.Prelude: [getConst] :: Const a -> a
+ Diagrams.Prelude: [runBazaar1] :: Bazaar1 a b t -> forall (f :: Type -> Type). Apply f => p a (f b) -> f t
+ Diagrams.Prelude: [runBazaar] :: Bazaar a b t -> forall (f :: Type -> Type). Applicative f => p a (f b) -> f t
+ Diagrams.Prelude: [runFold] :: ReifiedFold s a -> Fold s a
+ Diagrams.Prelude: [runGetter] :: ReifiedGetter s a -> Getter s a
+ Diagrams.Prelude: [runIdentity] :: Identity a -> a
+ Diagrams.Prelude: [runIndexedFold] :: ReifiedIndexedFold i s a -> IndexedFold i s a
+ Diagrams.Prelude: [runIndexedGetter] :: ReifiedIndexedGetter i s a -> IndexedGetter i s a
+ Diagrams.Prelude: [runIndexedLens] :: ReifiedIndexedLens i s t a b -> IndexedLens i s t a b
+ Diagrams.Prelude: [runIndexedSetter] :: ReifiedIndexedSetter i s t a b -> IndexedSetter i s t a b
+ Diagrams.Prelude: [runIndexedTraversal] :: ReifiedIndexedTraversal i s t a b -> IndexedTraversal i s t a b
+ Diagrams.Prelude: [runIndexed] :: Indexed i a b -> i -> a -> b
+ Diagrams.Prelude: [runIso] :: ReifiedIso s t a b -> Iso s t a b
+ Diagrams.Prelude: [runLens] :: ReifiedLens s t a b -> Lens s t a b
+ Diagrams.Prelude: [runPrism] :: ReifiedPrism s t a b -> Prism s t a b
+ Diagrams.Prelude: [runSetter] :: ReifiedSetter s t a b -> Setter s t a b
+ Diagrams.Prelude: [runTraversal] :: ReifiedTraversal s t a b -> Traversal s t a b
+ Diagrams.Prelude: _1 :: Field1 s t a b => Lens s t a b
+ Diagrams.Prelude: _1' :: Field1 s t a b => Lens s t a b
+ Diagrams.Prelude: _10 :: Field10 s t a b => Lens s t a b
+ Diagrams.Prelude: _10' :: Field10 s t a b => Lens s t a b
+ Diagrams.Prelude: _11 :: Field11 s t a b => Lens s t a b
+ Diagrams.Prelude: _11' :: Field11 s t a b => Lens s t a b
+ Diagrams.Prelude: _12 :: Field12 s t a b => Lens s t a b
+ Diagrams.Prelude: _12' :: Field12 s t a b => Lens s t a b
+ Diagrams.Prelude: _13 :: Field13 s t a b => Lens s t a b
+ Diagrams.Prelude: _13' :: Field13 s t a b => Lens s t a b
+ Diagrams.Prelude: _14 :: Field14 s t a b => Lens s t a b
+ Diagrams.Prelude: _14' :: Field14 s t a b => Lens s t a b
+ Diagrams.Prelude: _15 :: Field15 s t a b => Lens s t a b
+ Diagrams.Prelude: _15' :: Field15 s t a b => Lens s t a b
+ Diagrams.Prelude: _16 :: Field16 s t a b => Lens s t a b
+ Diagrams.Prelude: _16' :: Field16 s t a b => Lens s t a b
+ Diagrams.Prelude: _17 :: Field17 s t a b => Lens s t a b
+ Diagrams.Prelude: _17' :: Field17 s t a b => Lens s t a b
+ Diagrams.Prelude: _18 :: Field18 s t a b => Lens s t a b
+ Diagrams.Prelude: _18' :: Field18 s t a b => Lens s t a b
+ Diagrams.Prelude: _19 :: Field19 s t a b => Lens s t a b
+ Diagrams.Prelude: _19' :: Field19 s t a b => Lens s t a b
+ Diagrams.Prelude: _2 :: Field2 s t a b => Lens s t a b
+ Diagrams.Prelude: _2' :: Field2 s t a b => Lens s t a b
+ Diagrams.Prelude: _3 :: Field3 s t a b => Lens s t a b
+ Diagrams.Prelude: _3' :: Field3 s t a b => Lens s t a b
+ Diagrams.Prelude: _4 :: Field4 s t a b => Lens s t a b
+ Diagrams.Prelude: _4' :: Field4 s t a b => Lens s t a b
+ Diagrams.Prelude: _5 :: Field5 s t a b => Lens s t a b
+ Diagrams.Prelude: _5' :: Field5 s t a b => Lens s t a b
+ Diagrams.Prelude: _6 :: Field6 s t a b => Lens s t a b
+ Diagrams.Prelude: _6' :: Field6 s t a b => Lens s t a b
+ Diagrams.Prelude: _7 :: Field7 s t a b => Lens s t a b
+ Diagrams.Prelude: _7' :: Field7 s t a b => Lens s t a b
+ Diagrams.Prelude: _8 :: Field8 s t a b => Lens s t a b
+ Diagrams.Prelude: _8' :: Field8 s t a b => Lens s t a b
+ Diagrams.Prelude: _9 :: Field9 s t a b => Lens s t a b
+ Diagrams.Prelude: _9' :: Field9 s t a b => Lens s t a b
+ Diagrams.Prelude: _Cons :: Cons s t a b => Prism s t (a, s) (b, t)
+ Diagrams.Prelude: _Empty :: AsEmpty a => Prism' a ()
+ Diagrams.Prelude: _GWrapped' :: (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s)
+ Diagrams.Prelude: _Just :: () => Prism (Maybe a) (Maybe b) a b
+ Diagrams.Prelude: _Left :: () => Prism (Either a c) (Either b c) a b
+ Diagrams.Prelude: _Nothing :: () => Prism' (Maybe a) ()
+ Diagrams.Prelude: _Right :: () => Prism (Either c a) (Either c b) a b
+ Diagrams.Prelude: _Show :: (Read a, Show a) => Prism' String a
+ Diagrams.Prelude: _Snoc :: Snoc s t a b => Prism s t (s, a) (t, b)
+ Diagrams.Prelude: _Unwrapped :: Rewrapping s t => Iso (Unwrapped t) (Unwrapped s) t s
+ Diagrams.Prelude: _Unwrapped' :: Wrapped s => Iso' (Unwrapped s) s
+ Diagrams.Prelude: _Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s
+ Diagrams.Prelude: _Unwrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' (Unwrapped s) s
+ Diagrams.Prelude: _Void :: () => Prism s s a Void
+ Diagrams.Prelude: _Wrapped :: Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t)
+ Diagrams.Prelude: _Wrapped' :: Wrapped s => Iso' s (Unwrapped s)
+ Diagrams.Prelude: _Wrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso s t (Unwrapped s) (Unwrapped t)
+ Diagrams.Prelude: _Wrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' s (Unwrapped s)
+ Diagrams.Prelude: _head :: Cons s s a a => Traversal' s a
+ Diagrams.Prelude: _init :: Snoc s s a a => Traversal' s s
+ Diagrams.Prelude: _last :: Snoc s s a a => Traversal' s a
+ Diagrams.Prelude: _tail :: Cons s s a a => Traversal' s s
+ Diagrams.Prelude: abbreviatedFields :: LensRules
+ Diagrams.Prelude: abbreviatedNamer :: FieldNamer
+ Diagrams.Prelude: ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s)
+ Diagrams.Prelude: alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s)
+ Diagrams.Prelude: aliceblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: allOf :: () => Getting All s a -> (a -> Bool) -> s -> Bool
+ Diagrams.Prelude: alongside :: () => LensLike (AlongsideLeft f b') s t a b -> LensLike (AlongsideRight f t) s' t' a' b' -> LensLike f (s, s') (t, t') (a, a') (b, b')
+ Diagrams.Prelude: alphaChannel :: () => AlphaColour a -> a
+ Diagrams.Prelude: alphaColourConvert :: (Fractional b, Real a) => AlphaColour a -> AlphaColour b
+ Diagrams.Prelude: andOf :: () => Getting All s Bool -> s -> Bool
+ Diagrams.Prelude: anon :: () => a -> (a -> Bool) -> Iso' (Maybe a) a
+ Diagrams.Prelude: antiquewhite :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: anyOf :: () => Getting Any s a -> (a -> Bool) -> s -> Bool
+ Diagrams.Prelude: aqua :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: aquamarine :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: asIndex :: (Indexable i p, Contravariant f, Functor f) => p i (f i) -> Indexed i s (f s)
+ Diagrams.Prelude: aside :: () => APrism s t a b -> Prism (e, s) (e, t) (e, a) (e, b)
+ Diagrams.Prelude: assign :: MonadState s m => ASetter s s a b -> b -> m ()
+ Diagrams.Prelude: assignA :: Arrow p => ASetter s t a b -> p s b -> p s t
+ Diagrams.Prelude: asumOf :: Alternative f => Getting (Endo (f a)) s (f a) -> s -> f a
+ Diagrams.Prelude: au :: Functor f => AnIso s t a b -> ((b -> t) -> f s) -> f a
+ Diagrams.Prelude: auf :: (Functor f, Functor g) => AnIso s t a b -> (f t -> g s) -> f b -> g a
+ Diagrams.Prelude: azure :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: beige :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: below :: Traversable f => APrism' s a -> Prism' (f s) (f a)
+ Diagrams.Prelude: bimap :: Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b d
+ Diagrams.Prelude: bimapping :: (Bifunctor f, Bifunctor g) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (f s s') (g t t') (f a a') (g b b')
+ Diagrams.Prelude: bisque :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: black :: Num a => Colour a
+ Diagrams.Prelude: blanchedalmond :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: blend :: (Num a, AffineSpace f) => a -> f a -> f a -> f a
+ Diagrams.Prelude: blue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: blueviolet :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: both :: Bitraversable r => Traversal (r a a) (r b b) a b
+ Diagrams.Prelude: both1 :: Bitraversable1 r => Traversal1 (r a a) (r b b) a b
+ Diagrams.Prelude: brown :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: burlywood :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: cadetblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: camelCaseFields :: LensRules
+ Diagrams.Prelude: camelCaseNamer :: FieldNamer
+ Diagrams.Prelude: censoring :: MonadWriter w m => Setter w w u v -> (u -> v) -> m a -> m a
+ Diagrams.Prelude: chartreuse :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: chocolate :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: choosing :: Functor f => LensLike f s t a b -> LensLike f s' t' a b -> LensLike f (Either s s') (Either t t') a b
+ Diagrams.Prelude: chosen :: () => IndexPreservingLens (Either a a) (Either b b) a b
+ Diagrams.Prelude: class AsEmpty a
+ Diagrams.Prelude: class Ixed m => At m
+ Diagrams.Prelude: class Bifunctor (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class Profunctor p => Choice (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class ColourOps (f :: Type -> Type)
+ Diagrams.Prelude: class (Choice p, Corepresentable p, Comonad Corep p, Traversable Corep p, Strong p, Representable p, Monad Rep p, MonadFix Rep p, Distributive Rep p, Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p, Closed p) => Conjoined (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class Cons s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Contains m
+ Diagrams.Prelude: class Contravariant (f :: Type -> Type)
+ Diagrams.Prelude: class Each s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field10 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field11 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field12 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field13 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field14 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field15 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field16 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field17 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field18 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field19 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Foldable f => FoldableWithIndex i (f :: Type -> Type) | f -> i
+ Diagrams.Prelude: class Functor f => FunctorWithIndex i (f :: Type -> Type) | f -> i
+ Diagrams.Prelude: class GPlated a (g :: k -> Type)
+ Diagrams.Prelude: class GPlated1 (f :: k -> Type) (g :: k -> Type)
+ Diagrams.Prelude: class Conjoined p => Indexable i (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class Ixed m
+ Diagrams.Prelude: class (Magnified m ~ Magnified n, MonadReader b m, MonadReader a n) => Magnify (m :: Type -> Type) (n :: Type -> Type) b a | m -> b, n -> a, m a -> n, n b -> m
+ Diagrams.Prelude: class Plated a
+ Diagrams.Prelude: class Profunctor (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class Reversing t
+ Diagrams.Prelude: class (Profunctor p, Bifunctor p) => Reviewable (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class Wrapped s => Rewrapped s t
+ Diagrams.Prelude: class (Rewrapped s t, Rewrapped t s) => Rewrapping s t
+ Diagrams.Prelude: class (Applicative f, Distributive f, Traversable f) => Settable (f :: Type -> Type)
+ Diagrams.Prelude: class Snoc s t a b | s -> a, t -> b, s b -> t, t a -> s
+ Diagrams.Prelude: class Strict lazy strict | lazy -> strict, strict -> lazy
+ Diagrams.Prelude: class Bifunctor p => Swapped (p :: Type -> Type -> Type)
+ Diagrams.Prelude: class (Functor t, Foldable t) => Traversable (t :: Type -> Type)
+ Diagrams.Prelude: class (Foldable1 t, Traversable t) => Traversable1 (t :: Type -> Type)
+ Diagrams.Prelude: class (FunctorWithIndex i t, FoldableWithIndex i t, Traversable t) => TraversableWithIndex i (t :: Type -> Type) | t -> i
+ Diagrams.Prelude: class Ord k => TraverseMax k (m :: Type -> Type) | m -> k
+ Diagrams.Prelude: class Ord k => TraverseMin k (m :: Type -> Type) | m -> k
+ Diagrams.Prelude: class Wrapped s where {
+ Diagrams.Prelude: class (MonadState s m, MonadState t n) => Zoom (m :: Type -> Type) (n :: Type -> Type) s t | m -> s, n -> t, m t -> n, n s -> m
+ Diagrams.Prelude: classUnderscoreNoPrefixFields :: LensRules
+ Diagrams.Prelude: classUnderscoreNoPrefixNamer :: FieldNamer
+ Diagrams.Prelude: classyRules :: LensRules
+ Diagrams.Prelude: classyRules_ :: LensRules
+ Diagrams.Prelude: cloneEquality :: () => AnEquality s t a b -> Equality s t a b
+ Diagrams.Prelude: cloneIndexPreservingLens :: () => ALens s t a b -> IndexPreservingLens s t a b
+ Diagrams.Prelude: cloneIndexPreservingSetter :: () => ASetter s t a b -> IndexPreservingSetter s t a b
+ Diagrams.Prelude: cloneIndexPreservingTraversal :: () => ATraversal s t a b -> IndexPreservingTraversal s t a b
+ Diagrams.Prelude: cloneIndexPreservingTraversal1 :: () => ATraversal1 s t a b -> IndexPreservingTraversal1 s t a b
+ Diagrams.Prelude: cloneIndexedLens :: () => AnIndexedLens i s t a b -> IndexedLens i s t a b
+ Diagrams.Prelude: cloneIndexedSetter :: () => AnIndexedSetter i s t a b -> IndexedSetter i s t a b
+ Diagrams.Prelude: cloneIndexedTraversal :: () => AnIndexedTraversal i s t a b -> IndexedTraversal i s t a b
+ Diagrams.Prelude: cloneIndexedTraversal1 :: () => AnIndexedTraversal1 i s t a b -> IndexedTraversal1 i s t a b
+ Diagrams.Prelude: cloneIso :: () => AnIso s t a b -> Iso s t a b
+ Diagrams.Prelude: cloneLens :: () => ALens s t a b -> Lens s t a b
+ Diagrams.Prelude: clonePrism :: () => APrism s t a b -> Prism s t a b
+ Diagrams.Prelude: cloneSetter :: () => ASetter s t a b -> Setter s t a b
+ Diagrams.Prelude: cloneTraversal :: () => ATraversal s t a b -> Traversal s t a b
+ Diagrams.Prelude: cloneTraversal1 :: () => ATraversal1 s t a b -> Traversal1 s t a b
+ Diagrams.Prelude: coerced :: (Coercible s a, Coercible t b) => Iso s t a b
+ Diagrams.Prelude: colourConvert :: (Fractional b, Real a) => Colour a -> Colour b
+ Diagrams.Prelude: composOpFold :: Plated a => b -> (b -> b -> b) -> (a -> b) -> a -> b
+ Diagrams.Prelude: concatMapOf :: () => Getting [r] s a -> (a -> [r]) -> s -> [r]
+ Diagrams.Prelude: concatOf :: () => Getting [r] s [r] -> s -> [r]
+ Diagrams.Prelude: confusing :: Applicative f => LensLike (Curried (Yoneda f) (Yoneda f)) s t a b -> LensLike f s t a b
+ Diagrams.Prelude: conjoined :: Conjoined p => ((p ~ ((->) :: Type -> Type -> Type)) -> q (a -> b) r) -> q (p a b) r -> q (p a b) r
+ Diagrams.Prelude: cons :: Cons s s a a => a -> s -> s
+ Diagrams.Prelude: contexts :: Plated a => a -> [Context a a a]
+ Diagrams.Prelude: contextsOf :: () => ATraversal' a a -> a -> [Context a a a]
+ Diagrams.Prelude: contextsOn :: Plated a => ATraversal s t a a -> s -> [Context a a t]
+ Diagrams.Prelude: contextsOnOf :: () => ATraversal s t a a -> ATraversal' a a -> s -> [Context a a t]
+ Diagrams.Prelude: contramap :: Contravariant f => (a -> b) -> f b -> f a
+ Diagrams.Prelude: contramapped :: Contravariant f => Setter (f b) (f a) a b
+ Diagrams.Prelude: contramapping :: Contravariant f => AnIso s t a b -> Iso (f a) (f b) (f s) (f t)
+ Diagrams.Prelude: coral :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: cornflowerblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: cornsilk :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: cosmos :: Plated a => Fold a a
+ Diagrams.Prelude: cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a
+ Diagrams.Prelude: cosmosOn :: (Applicative f, Contravariant f, Plated a) => LensLike' f s a -> LensLike' f s a
+ Diagrams.Prelude: cosmosOnOf :: (Applicative f, Contravariant f) => LensLike' f s a -> LensLike' f a a -> LensLike' f s a
+ Diagrams.Prelude: createClass :: Lens' LensRules Bool
+ Diagrams.Prelude: crimson :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: curried :: () => Iso ((a, b) -> c) ((d, e) -> f) (a -> b -> c) (d -> e -> f)
+ Diagrams.Prelude: cyan :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: cycled :: Apply f => LensLike f s t a b -> LensLike f s t a b
+ Diagrams.Prelude: darkblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkcyan :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darken :: (ColourOps f, Num a) => a -> f a -> f a
+ Diagrams.Prelude: darkgoldenrod :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkgray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkgrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkkhaki :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkmagenta :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkolivegreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkorange :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkorchid :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkred :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darksalmon :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkseagreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkslateblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkslategray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkslategrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkturquoise :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: darkviolet :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: data AlphaColour a
+ Diagrams.Prelude: data Colour a
+ Diagrams.Prelude: data Context a b t
+ Diagrams.Prelude: data DefName
+ Diagrams.Prelude: data Leftmost a
+ Diagrams.Prelude: data LensRules
+ Diagrams.Prelude: data Level i a
+ Diagrams.Prelude: data Magma i t b a
+ Diagrams.Prelude: data Rightmost a
+ Diagrams.Prelude: data Sequenced a (m :: Type -> Type)
+ Diagrams.Prelude: data Traversed a (f :: Type -> Type)
+ Diagrams.Prelude: data Identical (a :: k) (b :: k1) (s :: k) (t :: k1) :: forall k k1. () => k -> k1 -> k -> k1 -> Type
+ Diagrams.Prelude: declareClassy :: DecsQ -> DecsQ
+ Diagrams.Prelude: declareClassyFor :: [(String, (String, String))] -> [(String, String)] -> DecsQ -> DecsQ
+ Diagrams.Prelude: declareFields :: DecsQ -> DecsQ
+ Diagrams.Prelude: declareLenses :: DecsQ -> DecsQ
+ Diagrams.Prelude: declareLensesFor :: [(String, String)] -> DecsQ -> DecsQ
+ Diagrams.Prelude: declareLensesWith :: LensRules -> DecsQ -> DecsQ
+ Diagrams.Prelude: declarePrisms :: DecsQ -> DecsQ
+ Diagrams.Prelude: declareWrapped :: DecsQ -> DecsQ
+ Diagrams.Prelude: deep :: (Conjoined p, Applicative f, Plated s) => Traversing p f s s a b -> Over p f s s a b
+ Diagrams.Prelude: deepOf :: (Conjoined p, Applicative f) => LensLike f s t s t -> Traversing p f s t a b -> Over p f s t a b
+ Diagrams.Prelude: deeppink :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: deepskyblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: defaultFieldRules :: LensRules
+ Diagrams.Prelude: devoid :: () => Over p f Void Void a b
+ Diagrams.Prelude: dimap :: Profunctor p => (a -> b) -> (c -> d) -> p b c -> p a d
+ Diagrams.Prelude: dimapping :: (Profunctor p, Profunctor q) => AnIso s t a b -> AnIso s' t' a' b' -> Iso (p a s') (q b t') (p s a') (q t b')
+ Diagrams.Prelude: dimgray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: dimgrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: dissolve :: Num a => a -> AlphaColour a -> AlphaColour a
+ Diagrams.Prelude: distrib :: (Conjoined p, Functor f) => p a b -> p (f a) (f b)
+ Diagrams.Prelude: dodgerblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: dropping :: (Conjoined p, Applicative f) => Int -> Over p (Indexing f) s t a a -> Over p f s t a a
+ Diagrams.Prelude: droppingWhile :: (Conjoined p, Profunctor q, Applicative f) => (a -> Bool) -> Optical p q (Compose (State Bool) f) s t a a -> Optical p q f s t a a
+ Diagrams.Prelude: each :: Each s t a b => Traversal s t a b
+ Diagrams.Prelude: elemIndexOf :: Eq a => IndexedGetting i (First i) s a -> a -> s -> Maybe i
+ Diagrams.Prelude: elemIndicesOf :: Eq a => IndexedGetting i (Endo [i]) s a -> a -> s -> [i]
+ Diagrams.Prelude: elemOf :: Eq a => Getting Any s a -> a -> s -> Bool
+ Diagrams.Prelude: element :: Traversable t => Int -> IndexedTraversal' Int (t a) a
+ Diagrams.Prelude: elementOf :: Applicative f => LensLike (Indexing f) s t a a -> Int -> IndexedLensLike Int f s t a a
+ Diagrams.Prelude: elements :: Traversable t => (Int -> Bool) -> IndexedTraversal' Int (t a) a
+ Diagrams.Prelude: elementsOf :: Applicative f => LensLike (Indexing f) s t a a -> (Int -> Bool) -> IndexedLensLike Int f s t a a
+ Diagrams.Prelude: enum :: Enum a => Iso' Int a
+ Diagrams.Prelude: equality :: () => (s :~: a) -> (b :~: t) -> Equality s t a b
+ Diagrams.Prelude: equality' :: () => (a :~: b) -> Equality' a b
+ Diagrams.Prelude: failing :: (Conjoined p, Applicative f) => Traversing p f s t a b -> Over p f s t a b -> Over p f s t a b
+ Diagrams.Prelude: failover :: Alternative m => LensLike ((,) Any) s t a b -> (a -> b) -> s -> m t
+ Diagrams.Prelude: filtered :: (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a
+ Diagrams.Prelude: filteredBy :: (Indexable i p, Applicative f) => Getting (First i) a i -> p a (f a) -> a -> f a
+ Diagrams.Prelude: findIndexOf :: () => IndexedGetting i (First i) s a -> (a -> Bool) -> s -> Maybe i
+ Diagrams.Prelude: findIndicesOf :: () => IndexedGetting i (Endo [i]) s a -> (a -> Bool) -> s -> [i]
+ Diagrams.Prelude: findMOf :: Monad m => Getting (Endo (m (Maybe a))) s a -> (a -> m Bool) -> s -> m (Maybe a)
+ Diagrams.Prelude: findOf :: () => Getting (Endo (Maybe a)) s a -> (a -> Bool) -> s -> Maybe a
+ Diagrams.Prelude: firebrick :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: first1Of :: () => Getting (First a) s a -> s -> a
+ Diagrams.Prelude: firstOf :: () => Getting (Leftmost a) s a -> s -> Maybe a
+ Diagrams.Prelude: firsting :: (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f s x) (g t y) (f a x) (g b y)
+ Diagrams.Prelude: flipped :: () => Iso (a -> b -> c) (a' -> b' -> c') (b -> a -> c) (b' -> a' -> c')
+ Diagrams.Prelude: floralwhite :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: foldBy :: Foldable t => (a -> a -> a) -> a -> t a -> a
+ Diagrams.Prelude: foldByOf :: () => Fold s a -> (a -> a -> a) -> a -> s -> a
+ Diagrams.Prelude: foldMapBy :: Foldable t => (r -> r -> r) -> r -> (a -> r) -> t a -> r
+ Diagrams.Prelude: foldMapByOf :: () => Fold s a -> (r -> r -> r) -> r -> (a -> r) -> s -> r
+ Diagrams.Prelude: foldMapOf :: () => Getting r s a -> (a -> r) -> s -> r
+ Diagrams.Prelude: foldOf :: () => Getting a s a -> s -> a
+ Diagrams.Prelude: folded :: Foldable f => IndexedFold Int (f a) a
+ Diagrams.Prelude: folded64 :: Foldable f => IndexedFold Int64 (f a) a
+ Diagrams.Prelude: folding :: Foldable f => (s -> f a) -> Fold s a
+ Diagrams.Prelude: foldl1Of :: HasCallStack => Getting (Dual (Endo (Maybe a))) s a -> (a -> a -> a) -> s -> a
+ Diagrams.Prelude: foldl1Of' :: HasCallStack => Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> a) -> s -> a
+ Diagrams.Prelude: foldlMOf :: Monad m => Getting (Endo (r -> m r)) s a -> (r -> a -> m r) -> r -> s -> m r
+ Diagrams.Prelude: foldlOf :: () => Getting (Dual (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
+ Diagrams.Prelude: foldlOf' :: () => Getting (Endo (Endo r)) s a -> (r -> a -> r) -> r -> s -> r
+ Diagrams.Prelude: foldr1Of :: HasCallStack => Getting (Endo (Maybe a)) s a -> (a -> a -> a) -> s -> a
+ Diagrams.Prelude: foldr1Of' :: HasCallStack => Getting (Dual (Endo (Endo (Maybe a)))) s a -> (a -> a -> a) -> s -> a
+ Diagrams.Prelude: foldrMOf :: Monad m => Getting (Dual (Endo (r -> m r))) s a -> (a -> r -> m r) -> r -> s -> m r
+ Diagrams.Prelude: foldrOf :: () => Getting (Endo r) s a -> (a -> r -> r) -> r -> s -> r
+ Diagrams.Prelude: foldrOf' :: () => Getting (Dual (Endo (Endo r))) s a -> (a -> r -> r) -> r -> s -> r
+ Diagrams.Prelude: foldring :: (Contravariant f, Applicative f) => ((a -> f a -> f a) -> f a -> s -> f a) -> LensLike f s t a b
+ Diagrams.Prelude: for1Of_ :: Functor f => Getting (TraversedF r f) s a -> s -> (a -> f r) -> f ()
+ Diagrams.Prelude: forMOf :: () => LensLike (WrappedMonad m) s t a b -> s -> (a -> m b) -> m t
+ Diagrams.Prelude: forMOf_ :: Monad m => Getting (Sequenced r m) s a -> s -> (a -> m r) -> m ()
+ Diagrams.Prelude: forOf :: () => LensLike f s t a b -> s -> (a -> f b) -> f t
+ Diagrams.Prelude: forOf_ :: Functor f => Getting (Traversed r f) s a -> s -> (a -> f r) -> f ()
+ Diagrams.Prelude: forestgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: from :: () => AnIso s t a b -> Iso b a t s
+ Diagrams.Prelude: fromEq :: () => AnEquality s t a b -> Equality b a t s
+ Diagrams.Prelude: fromLeibniz :: () => (Identical a b a b -> Identical a b s t) -> Equality s t a b
+ Diagrams.Prelude: fromLeibniz' :: () => ((s :~: s) -> s :~: a) -> Equality' s a
+ Diagrams.Prelude: fuchsia :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: fusing :: Functor f => LensLike (Yoneda f) s t a b -> LensLike f s t a b
+ Diagrams.Prelude: gainsboro :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: generateLazyPatterns :: Lens' LensRules Bool
+ Diagrams.Prelude: generateSignatures :: Lens' LensRules Bool
+ Diagrams.Prelude: generateUpdateableOptics :: Lens' LensRules Bool
+ Diagrams.Prelude: getting :: (Profunctor p, Profunctor q, Functor f, Contravariant f) => Optical p q f s t a b -> Optical' p q f s a
+ Diagrams.Prelude: ghostwhite :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: gold :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: goldenrod :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: gplate :: (Generic a, GPlated a (Rep a)) => Traversal' a a
+ Diagrams.Prelude: gplate1 :: (Generic1 f, GPlated1 f (Rep1 f)) => Traversal' (f a) (f a)
+ Diagrams.Prelude: gray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: green :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: greenyellow :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: grey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: has :: () => Getting Any s a -> s -> Bool
+ Diagrams.Prelude: hasn't :: () => Getting All s a -> s -> Bool
+ Diagrams.Prelude: head1 :: Traversable1 t => Lens' (t a) a
+ Diagrams.Prelude: holes :: Plated a => a -> [Pretext ((->) :: Type -> Type -> Type) a a a]
+ Diagrams.Prelude: holes1Of :: Conjoined p => Over p (Bazaar1 p a a) s t a a -> s -> NonEmpty (Pretext p a a t)
+ Diagrams.Prelude: holesOf :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
+ Diagrams.Prelude: holesOn :: Conjoined p => Over p (Bazaar p a a) s t a a -> s -> [Pretext p a a t]
+ Diagrams.Prelude: holesOnOf :: Conjoined p => LensLike (Bazaar p r r) s t a b -> Over p (Bazaar p r r) a b r r -> s -> [Pretext p r r t]
+ Diagrams.Prelude: honeydew :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: hotpink :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: iall :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
+ Diagrams.Prelude: iallOf :: () => IndexedGetting i All s a -> (i -> a -> Bool) -> s -> Bool
+ Diagrams.Prelude: iany :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
+ Diagrams.Prelude: ianyOf :: () => IndexedGetting i Any s a -> (i -> a -> Bool) -> s -> Bool
+ Diagrams.Prelude: iat :: At m => Index m -> IndexedLens' (Index m) m (Maybe (IxValue m))
+ Diagrams.Prelude: icensoring :: MonadWriter w m => IndexedSetter i w w u v -> (i -> u -> v) -> m a -> m a
+ Diagrams.Prelude: icompose :: Indexable p c => (i -> j -> p) -> (Indexed i s t -> r) -> (Indexed j a b -> s -> t) -> c a b -> r
+ Diagrams.Prelude: iconcatMap :: FoldableWithIndex i f => (i -> a -> [b]) -> f a -> [b]
+ Diagrams.Prelude: iconcatMapOf :: () => IndexedGetting i [r] s a -> (i -> a -> [r]) -> s -> [r]
+ Diagrams.Prelude: icontains :: Contains m => Index m -> IndexedLens' (Index m) m Bool
+ Diagrams.Prelude: idroppingWhile :: (Indexable i p, Profunctor q, Applicative f) => (i -> a -> Bool) -> Optical (Indexed i) q (Compose (State Bool) f) s t a a -> Optical p q f s t a a
+ Diagrams.Prelude: ifailover :: Alternative m => Over (Indexed i) ((,) Any) s t a b -> (i -> a -> b) -> s -> m t
+ Diagrams.Prelude: ifiltered :: (Indexable i p, Applicative f) => (i -> a -> Bool) -> Optical' p (Indexed i) f a a
+ Diagrams.Prelude: ifind :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Maybe (i, a)
+ Diagrams.Prelude: ifindMOf :: Monad m => IndexedGetting i (Endo (m (Maybe a))) s a -> (i -> a -> m Bool) -> s -> m (Maybe a)
+ Diagrams.Prelude: ifindOf :: () => IndexedGetting i (Endo (Maybe a)) s a -> (i -> a -> Bool) -> s -> Maybe a
+ Diagrams.Prelude: ifoldMap :: (FoldableWithIndex i f, Monoid m) => (i -> a -> m) -> f a -> m
+ Diagrams.Prelude: ifoldMapBy :: FoldableWithIndex i t => (r -> r -> r) -> r -> (i -> a -> r) -> t a -> r
+ Diagrams.Prelude: ifoldMapByOf :: () => IndexedFold i t a -> (r -> r -> r) -> r -> (i -> a -> r) -> t -> r
+ Diagrams.Prelude: ifoldMapOf :: () => IndexedGetting i m s a -> (i -> a -> m) -> s -> m
+ Diagrams.Prelude: ifolded :: FoldableWithIndex i f => IndexedFold i (f a) a
+ Diagrams.Prelude: ifolding :: (Foldable f, Indexable i p, Contravariant g, Applicative g) => (s -> f (i, a)) -> Over p g s t a b
+ Diagrams.Prelude: ifoldl :: FoldableWithIndex i f => (i -> b -> a -> b) -> b -> f a -> b
+ Diagrams.Prelude: ifoldl' :: FoldableWithIndex i f => (i -> b -> a -> b) -> b -> f a -> b
+ Diagrams.Prelude: ifoldlM :: (FoldableWithIndex i f, Monad m) => (i -> b -> a -> m b) -> b -> f a -> m b
+ Diagrams.Prelude: ifoldlMOf :: Monad m => IndexedGetting i (Endo (r -> m r)) s a -> (i -> r -> a -> m r) -> r -> s -> m r
+ Diagrams.Prelude: ifoldlOf :: () => IndexedGetting i (Dual (Endo r)) s a -> (i -> r -> a -> r) -> r -> s -> r
+ Diagrams.Prelude: ifoldlOf' :: () => IndexedGetting i (Endo (r -> r)) s a -> (i -> r -> a -> r) -> r -> s -> r
+ Diagrams.Prelude: ifoldr :: FoldableWithIndex i f => (i -> a -> b -> b) -> b -> f a -> b
+ Diagrams.Prelude: ifoldr' :: FoldableWithIndex i f => (i -> a -> b -> b) -> b -> f a -> b
+ Diagrams.Prelude: ifoldrM :: (FoldableWithIndex i f, Monad m) => (i -> a -> b -> m b) -> b -> f a -> m b
+ Diagrams.Prelude: ifoldrMOf :: Monad m => IndexedGetting i (Dual (Endo (r -> m r))) s a -> (i -> a -> r -> m r) -> r -> s -> m r
+ Diagrams.Prelude: ifoldrOf :: () => IndexedGetting i (Endo r) s a -> (i -> a -> r -> r) -> r -> s -> r
+ Diagrams.Prelude: ifoldrOf' :: () => IndexedGetting i (Dual (Endo (r -> r))) s a -> (i -> a -> r -> r) -> r -> s -> r
+ Diagrams.Prelude: ifoldring :: (Indexable i p, Contravariant f, Applicative f) => ((i -> a -> f a -> f a) -> f a -> s -> f a) -> Over p f s t a b
+ Diagrams.Prelude: ifor :: (TraversableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f (t b)
+ Diagrams.Prelude: iforM :: (TraversableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m (t b)
+ Diagrams.Prelude: iforMOf :: () => (Indexed i a (WrappedMonad m b) -> s -> WrappedMonad m t) -> s -> (i -> a -> m b) -> m t
+ Diagrams.Prelude: iforMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> s -> (i -> a -> m r) -> m ()
+ Diagrams.Prelude: iforM_ :: (FoldableWithIndex i t, Monad m) => t a -> (i -> a -> m b) -> m ()
+ Diagrams.Prelude: iforOf :: () => (Indexed i a (f b) -> s -> f t) -> s -> (i -> a -> f b) -> f t
+ Diagrams.Prelude: iforOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> s -> (i -> a -> f r) -> f ()
+ Diagrams.Prelude: ifor_ :: (FoldableWithIndex i t, Applicative f) => t a -> (i -> a -> f b) -> f ()
+ Diagrams.Prelude: ignored :: Applicative f => pafb -> s -> f s
+ Diagrams.Prelude: iix :: Ixed m => Index m -> IndexedTraversal' (Index m) m (IxValue m)
+ Diagrams.Prelude: ilens :: () => (s -> (i, a)) -> (s -> b -> t) -> IndexedLens i s t a b
+ Diagrams.Prelude: ilevels :: Applicative f => Traversing (Indexed i) f s t a b -> IndexedLensLike Int f s t (Level i a) (Level j b)
+ Diagrams.Prelude: ilike :: (Indexable i p, Contravariant f, Functor f) => i -> a -> Over' p f s a
+ Diagrams.Prelude: ilistening :: MonadWriter w m => IndexedGetting i (i, u) w u -> m a -> m (a, (i, u))
+ Diagrams.Prelude: ilistenings :: MonadWriter w m => IndexedGetting i v w u -> (i -> u -> v) -> m a -> m (a, v)
+ Diagrams.Prelude: ilocally :: MonadReader s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m r -> m r
+ Diagrams.Prelude: iloci :: () => IndexedTraversal i (Bazaar (Indexed i) a c s) (Bazaar (Indexed i) b c s) a b
+ Diagrams.Prelude: imagma :: () => Over (Indexed i) (Molten i a b) s t a b -> Iso s t' (Magma i t b a) (Magma j t' c c)
+ Diagrams.Prelude: imap :: FunctorWithIndex i f => (i -> a -> b) -> f a -> f b
+ Diagrams.Prelude: imapAccumL :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b)
+ Diagrams.Prelude: imapAccumLOf :: () => Over (Indexed i) (State acc) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
+ Diagrams.Prelude: imapAccumR :: TraversableWithIndex i t => (i -> s -> a -> (s, b)) -> s -> t a -> (s, t b)
+ Diagrams.Prelude: imapAccumROf :: () => Over (Indexed i) (Backwards (State acc)) s t a b -> (i -> acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
+ Diagrams.Prelude: imapM :: (TraversableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m (t b)
+ Diagrams.Prelude: imapMOf :: () => Over (Indexed i) (WrappedMonad m) s t a b -> (i -> a -> m b) -> s -> m t
+ Diagrams.Prelude: imapMOf_ :: Monad m => IndexedGetting i (Sequenced r m) s a -> (i -> a -> m r) -> s -> m ()
+ Diagrams.Prelude: imapM_ :: (FoldableWithIndex i t, Monad m) => (i -> a -> m b) -> t a -> m ()
+ Diagrams.Prelude: imapOf :: () => AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
+ Diagrams.Prelude: imapped :: FunctorWithIndex i f => IndexedSetter i (f a) (f b) a b
+ Diagrams.Prelude: imodifying :: MonadState s m => AnIndexedSetter i s s a b -> (i -> a -> b) -> m ()
+ Diagrams.Prelude: index :: (Indexable i p, Eq i, Applicative f) => i -> Optical' p (Indexed i) f a a
+ Diagrams.Prelude: indexing :: Indexable Int p => ((a -> Indexing f b) -> s -> Indexing f t) -> p a (f b) -> s -> f t
+ Diagrams.Prelude: indexing64 :: Indexable Int64 p => ((a -> Indexing64 f b) -> s -> Indexing64 f t) -> p a (f b) -> s -> f t
+ Diagrams.Prelude: indianred :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: indigo :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: infix 4 .=
+ Diagrams.Prelude: infixl 1 &~
+ Diagrams.Prelude: infixl 5 `failing`
+ Diagrams.Prelude: infixl 8 ^#
+ Diagrams.Prelude: infixr 2 <~
+ Diagrams.Prelude: infixr 4 %~
+ Diagrams.Prelude: infixr 5 :<
+ Diagrams.Prelude: infixr 9 <.
+ Diagrams.Prelude: inone :: FoldableWithIndex i f => (i -> a -> Bool) -> f a -> Bool
+ Diagrams.Prelude: inoneOf :: () => IndexedGetting i Any s a -> (i -> a -> Bool) -> s -> Bool
+ Diagrams.Prelude: involuted :: () => (a -> a) -> Iso' a a
+ Diagrams.Prelude: iover :: () => AnIndexedSetter i s t a b -> (i -> a -> b) -> s -> t
+ Diagrams.Prelude: ipartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a a -> Over p f s t [a] [a]
+ Diagrams.Prelude: ipartsOf' :: (Indexable [i] p, Functor f) => Over (Indexed i) (Bazaar' (Indexed i) a) s t a a -> Over p f s t [a] [a]
+ Diagrams.Prelude: ipassing :: MonadWriter w m => IndexedSetter i w w u v -> m (a, i -> u -> v) -> m a
+ Diagrams.Prelude: iplens :: () => (s -> a) -> (s -> b -> t) -> IndexPreservingLens s t a b
+ Diagrams.Prelude: ipre :: () => IndexedGetting i (First (i, a)) s a -> IndexPreservingGetter s (Maybe (i, a))
+ Diagrams.Prelude: ipreuse :: MonadState s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a))
+ Diagrams.Prelude: ipreuses :: MonadState s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r)
+ Diagrams.Prelude: ipreview :: MonadReader s m => IndexedGetting i (First (i, a)) s a -> m (Maybe (i, a))
+ Diagrams.Prelude: ipreviews :: MonadReader s m => IndexedGetting i (First r) s a -> (i -> a -> r) -> m (Maybe r)
+ Diagrams.Prelude: iset :: () => AnIndexedSetter i s t a b -> (i -> b) -> s -> t
+ Diagrams.Prelude: isets :: () => ((i -> a -> b) -> s -> t) -> IndexedSetter i s t a b
+ Diagrams.Prelude: isn't :: () => APrism s t a b -> s -> Bool
+ Diagrams.Prelude: iso :: () => (s -> a) -> (b -> t) -> Iso s t a b
+ Diagrams.Prelude: itakingWhile :: (Indexable i p, Profunctor q, Contravariant f, Applicative f) => (i -> a -> Bool) -> Optical' (Indexed i) q (Const (Endo (f s)) :: Type -> Type) s a -> Optical' p q f s a
+ Diagrams.Prelude: iterated :: Apply f => (a -> a) -> LensLike' f a a
+ Diagrams.Prelude: ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a
+ Diagrams.Prelude: itoList :: FoldableWithIndex i f => f a -> [(i, a)]
+ Diagrams.Prelude: itoListOf :: () => IndexedGetting i (Endo [(i, a)]) s a -> s -> [(i, a)]
+ Diagrams.Prelude: itraverse :: (TraversableWithIndex i t, Applicative f) => (i -> a -> f b) -> t a -> f (t b)
+ Diagrams.Prelude: itraverseBy :: TraversableWithIndex i t => (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> t a -> f (t b)
+ Diagrams.Prelude: itraverseByOf :: () => IndexedTraversal i s t a b -> (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> (i -> a -> f b) -> s -> f t
+ Diagrams.Prelude: itraverseOf :: () => (Indexed i a (f b) -> s -> f t) -> (i -> a -> f b) -> s -> f t
+ Diagrams.Prelude: itraverseOf_ :: Functor f => IndexedGetting i (Traversed r f) s a -> (i -> a -> f r) -> s -> f ()
+ Diagrams.Prelude: itraverse_ :: (FoldableWithIndex i t, Applicative f) => (i -> a -> f b) -> t a -> f ()
+ Diagrams.Prelude: itraversed :: TraversableWithIndex i t => IndexedTraversal i (t a) (t b) a b
+ Diagrams.Prelude: iunsafePartsOf :: (Indexable [i] p, Functor f) => Traversing (Indexed i) f s t a b -> Over p f s t [a] [b]
+ Diagrams.Prelude: iunsafePartsOf' :: () => Over (Indexed i) (Bazaar (Indexed i) a b) s t a b -> IndexedLens [i] s t [a] [b]
+ Diagrams.Prelude: iuse :: MonadState s m => IndexedGetting i (i, a) s a -> m (i, a)
+ Diagrams.Prelude: iuses :: MonadState s m => IndexedGetting i r s a -> (i -> a -> r) -> m r
+ Diagrams.Prelude: iview :: MonadReader s m => IndexedGetting i (i, a) s a -> m (i, a)
+ Diagrams.Prelude: iviews :: MonadReader s m => IndexedGetting i r s a -> (i -> a -> r) -> m r
+ Diagrams.Prelude: ivory :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: ix :: Ixed m => Index m -> Traversal' m (IxValue m)
+ Diagrams.Prelude: ixAt :: At m => Index m -> Traversal' m (IxValue m)
+ Diagrams.Prelude: khaki :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: last1 :: Traversable1 t => Lens' (t a) a
+ Diagrams.Prelude: last1Of :: () => Getting (Last a) s a -> s -> a
+ Diagrams.Prelude: lastOf :: () => Getting (Rightmost a) s a -> s -> Maybe a
+ Diagrams.Prelude: lavender :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lavenderblush :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lawngreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lazy :: Strict lazy strict => Iso' strict lazy
+ Diagrams.Prelude: left' :: Choice p => p a b -> p (Either a c) (Either b c)
+ Diagrams.Prelude: lemonchiffon :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lengthOf :: () => Getting (Endo (Endo Int)) s a -> s -> Int
+ Diagrams.Prelude: lens :: () => (s -> a) -> (s -> b -> t) -> Lens s t a b
+ Diagrams.Prelude: lensClass :: Lens' LensRules ClassyNamer
+ Diagrams.Prelude: lensField :: Lens' LensRules FieldNamer
+ Diagrams.Prelude: lensRules :: LensRules
+ Diagrams.Prelude: lensRulesFor :: [(String, String)] -> LensRules
+ Diagrams.Prelude: lifted :: Monad m => Setter (m a) (m b) a b
+ Diagrams.Prelude: lightblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightcoral :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightcyan :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightgoldenrodyellow :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightgray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightgrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightpink :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightsalmon :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightseagreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightskyblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightslategray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightslategrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightsteelblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lightyellow :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: like :: (Profunctor p, Contravariant f, Functor f) => a -> Optic' p f s a
+ Diagrams.Prelude: lime :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: limegreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: lined :: Applicative f => IndexedLensLike' Int f String String
+ Diagrams.Prelude: linen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: listening :: MonadWriter w m => Getting u w u -> m a -> m (a, u)
+ Diagrams.Prelude: listenings :: MonadWriter w m => Getting v w u -> (u -> v) -> m a -> m (a, v)
+ Diagrams.Prelude: lmap :: Profunctor p => (a -> b) -> p b c -> p a c
+ Diagrams.Prelude: lmapping :: (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p a x) (q b y) (p s x) (q t y)
+ Diagrams.Prelude: locally :: MonadReader s m => ASetter s s a b -> (a -> b) -> m r -> m r
+ Diagrams.Prelude: loci :: () => Traversal (Bazaar ((->) :: Type -> Type -> Type) a c s) (Bazaar ((->) :: Type -> Type -> Type) b c s) a b
+ Diagrams.Prelude: locus :: IndexedComonadStore p => Lens (p a c s) (p b c s) a b
+ Diagrams.Prelude: lookingupNamer :: [(String, String)] -> FieldNamer
+ Diagrams.Prelude: lookupOf :: Eq k => Getting (Endo (Maybe v)) s (k, v) -> k -> s -> Maybe v
+ Diagrams.Prelude: magenta :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: magma :: () => LensLike (Mafic a b) s t a b -> Iso s u (Magma Int t b a) (Magma j u c c)
+ Diagrams.Prelude: magnify :: Magnify m n b a => (Functor (Magnified m c) -> Contravariant (Magnified m c) -> LensLike' (Magnified m c) a b) -> m c -> n c
+ Diagrams.Prelude: makeClassy :: Name -> DecsQ
+ Diagrams.Prelude: makeClassyFor :: String -> String -> [(String, String)] -> Name -> DecsQ
+ Diagrams.Prelude: makeClassyPrisms :: Name -> DecsQ
+ Diagrams.Prelude: makeClassy_ :: Name -> DecsQ
+ Diagrams.Prelude: makeFields :: Name -> DecsQ
+ Diagrams.Prelude: makeFieldsNoPrefix :: Name -> DecsQ
+ Diagrams.Prelude: makeLenses :: Name -> DecsQ
+ Diagrams.Prelude: makeLensesFor :: [(String, String)] -> Name -> DecsQ
+ Diagrams.Prelude: makeLensesWith :: LensRules -> Name -> DecsQ
+ Diagrams.Prelude: makePrisms :: Name -> DecsQ
+ Diagrams.Prelude: makeWrapped :: Name -> DecsQ
+ Diagrams.Prelude: mapAccumLOf :: () => LensLike (State acc) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
+ Diagrams.Prelude: mapAccumROf :: () => LensLike (Backwards (State acc)) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t)
+ Diagrams.Prelude: mapEq :: () => AnEquality s t a b -> f s -> f a
+ Diagrams.Prelude: mapMOf :: () => LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t
+ Diagrams.Prelude: mapMOf_ :: Monad m => Getting (Sequenced r m) s a -> (a -> m r) -> s -> m ()
+ Diagrams.Prelude: mapOf :: () => ASetter s t a b -> (a -> b) -> s -> t
+ Diagrams.Prelude: mapped :: Functor f => Setter (f a) (f b) a b
+ Diagrams.Prelude: mapping :: (Functor f, Functor g) => AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
+ Diagrams.Prelude: mappingNamer :: (String -> [String]) -> FieldNamer
+ Diagrams.Prelude: maroon :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: matching :: () => APrism s t a b -> s -> Either t a
+ Diagrams.Prelude: maximum1Of :: Ord a => Getting (Max a) s a -> s -> a
+ Diagrams.Prelude: maximumByOf :: () => Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> Ordering) -> s -> Maybe a
+ Diagrams.Prelude: maximumOf :: Ord a => Getting (Endo (Endo (Maybe a))) s a -> s -> Maybe a
+ Diagrams.Prelude: mediumaquamarine :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumorchid :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumpurple :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumseagreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumslateblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumspringgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumturquoise :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mediumvioletred :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: midnightblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: minimum1Of :: Ord a => Getting (Min a) s a -> s -> a
+ Diagrams.Prelude: minimumByOf :: () => Getting (Endo (Endo (Maybe a))) s a -> (a -> a -> Ordering) -> s -> Maybe a
+ Diagrams.Prelude: minimumOf :: Ord a => Getting (Endo (Endo (Maybe a))) s a -> s -> Maybe a
+ Diagrams.Prelude: mintcream :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: mistyrose :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: moccasin :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: modifying :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()
+ Diagrams.Prelude: msumOf :: MonadPlus m => Getting (Endo (m a)) s (m a) -> s -> m a
+ Diagrams.Prelude: navajowhite :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: navy :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: nearly :: () => a -> (a -> Bool) -> Prism' a ()
+ Diagrams.Prelude: newtype Bazaar (p :: Type -> Type -> Type) a b t
+ Diagrams.Prelude: newtype Bazaar1 (p :: Type -> Type -> Type) a b t
+ Diagrams.Prelude: newtype Identity a
+ Diagrams.Prelude: newtype Indexed i a b
+ Diagrams.Prelude: newtype ReifiedFold s a
+ Diagrams.Prelude: newtype ReifiedGetter s a
+ Diagrams.Prelude: newtype ReifiedIndexedFold i s a
+ Diagrams.Prelude: newtype ReifiedIndexedGetter i s a
+ Diagrams.Prelude: newtype ReifiedIndexedLens i s t a b
+ Diagrams.Prelude: newtype ReifiedIndexedSetter i s t a b
+ Diagrams.Prelude: newtype ReifiedIndexedTraversal i s t a b
+ Diagrams.Prelude: newtype ReifiedIso s t a b
+ Diagrams.Prelude: newtype ReifiedLens s t a b
+ Diagrams.Prelude: newtype ReifiedPrism s t a b
+ Diagrams.Prelude: newtype ReifiedSetter s t a b
+ Diagrams.Prelude: newtype ReifiedTraversal s t a b
+ Diagrams.Prelude: newtype Const a (b :: k) :: forall k. () => Type -> k -> Type
+ Diagrams.Prelude: non :: Eq a => a -> Iso' (Maybe a) a
+ Diagrams.Prelude: non' :: () => APrism' a () -> Iso' (Maybe a) a
+ Diagrams.Prelude: noneOf :: () => Getting Any s a -> (a -> Bool) -> s -> Bool
+ Diagrams.Prelude: notElemOf :: Eq a => Getting All s a -> a -> s -> Bool
+ Diagrams.Prelude: notNullOf :: () => Getting Any s a -> s -> Bool
+ Diagrams.Prelude: nullOf :: () => Getting All s a -> s -> Bool
+ Diagrams.Prelude: oldlace :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: olive :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: olivedrab :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: only :: Eq a => a -> Prism' a ()
+ Diagrams.Prelude: op :: Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s
+ Diagrams.Prelude: opaque :: Num a => Colour a -> AlphaColour a
+ Diagrams.Prelude: orOf :: () => Getting Any s Bool -> s -> Bool
+ Diagrams.Prelude: orange :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: orangered :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: orchid :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: over :: () => ASetter s t a b -> (a -> b) -> s -> t
+ Diagrams.Prelude: overA :: Arrow ar => LensLike (Context a b) s t a b -> ar a b -> ar s t
+ Diagrams.Prelude: overEquality :: () => AnEquality s t a b -> p a b -> p s t
+ Diagrams.Prelude: palegoldenrod :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: palegreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: paleturquoise :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: palevioletred :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: papayawhip :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: para :: Plated a => (a -> [r] -> r) -> a -> r
+ Diagrams.Prelude: paraOf :: () => Getting (Endo [a]) a a -> (a -> [r] -> r) -> a -> r
+ Diagrams.Prelude: parts :: Plated a => Lens' a [a]
+ Diagrams.Prelude: partsOf :: Functor f => Traversing ((->) :: Type -> Type -> Type) f s t a a -> LensLike f s t [a] [a]
+ Diagrams.Prelude: partsOf' :: () => ATraversal s t a a -> Lens s t [a] [a]
+ Diagrams.Prelude: passing :: MonadWriter w m => Setter w w u v -> m (a, u -> v) -> m a
+ Diagrams.Prelude: pattern Wrapped :: forall s. Rewrapped s s => () => Unwrapped s -> s
+ Diagrams.Prelude: pattern List :: forall l. IsList l => () => [Item l] -> l
+ Diagrams.Prelude: pattern (:>) :: forall a b. Snoc a a b b => () => a -> b -> a
+ Diagrams.Prelude: pattern Swapped :: forall (p :: Type -> Type -> Type) c d. Swapped p => () => p d c -> p c d
+ Diagrams.Prelude: pattern Empty :: forall s. AsEmpty s => () => s
+ Diagrams.Prelude: pattern Reversed :: forall t. Reversing t => () => t -> t
+ Diagrams.Prelude: peachpuff :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: peru :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: pink :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: plate :: Plated a => Traversal' a a
+ Diagrams.Prelude: plum :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: powderblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: pre :: () => Getting (First a) s a -> IndexPreservingGetter s (Maybe a)
+ Diagrams.Prelude: preuse :: MonadState s m => Getting (First a) s a -> m (Maybe a)
+ Diagrams.Prelude: preuses :: MonadState s m => Getting (First r) s a -> (a -> r) -> m (Maybe r)
+ Diagrams.Prelude: preview :: MonadReader s m => Getting (First a) s a -> m (Maybe a)
+ Diagrams.Prelude: previews :: MonadReader s m => Getting (First r) s a -> (a -> r) -> m (Maybe r)
+ Diagrams.Prelude: prism :: () => (b -> t) -> (s -> Either t a) -> Prism s t a b
+ Diagrams.Prelude: prism' :: () => (b -> s) -> (s -> Maybe a) -> Prism s s a b
+ Diagrams.Prelude: productOf :: Num a => Getting (Endo (Endo a)) s a -> s -> a
+ Diagrams.Prelude: purple :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: re :: () => AReview t b -> Getter b t
+ Diagrams.Prelude: readColourName :: (MonadFail m, Monad m, Ord a, Floating a) => String -> m (Colour a)
+ Diagrams.Prelude: red :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: reindexed :: Indexable j p => (i -> j) -> (Indexed i a b -> r) -> p a b -> r
+ Diagrams.Prelude: repeated :: Apply f => LensLike' f a a
+ Diagrams.Prelude: replicated :: () => Int -> Fold a a
+ Diagrams.Prelude: retagged :: (Profunctor p, Bifunctor p) => p a b -> p s b
+ Diagrams.Prelude: reuse :: MonadState b m => AReview t b -> m t
+ Diagrams.Prelude: reuses :: MonadState b m => AReview t b -> (t -> r) -> m r
+ Diagrams.Prelude: reversed :: Reversing a => Iso' a a
+ Diagrams.Prelude: reversing :: Reversing t => t -> t
+ Diagrams.Prelude: review :: MonadReader b m => AReview t b -> m t
+ Diagrams.Prelude: reviews :: MonadReader b m => AReview t b -> (t -> r) -> m r
+ Diagrams.Prelude: rewrite :: Plated a => (a -> Maybe a) -> a -> a
+ Diagrams.Prelude: rewriteM :: (Monad m, Plated a) => (a -> m (Maybe a)) -> a -> m a
+ Diagrams.Prelude: rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b
+ Diagrams.Prelude: rewriteMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m (Maybe a)) -> s -> m t
+ Diagrams.Prelude: rewriteMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> s -> m t
+ Diagrams.Prelude: rewriteOf :: () => ASetter a b a b -> (b -> Maybe a) -> a -> b
+ Diagrams.Prelude: rewriteOn :: Plated a => ASetter s t a a -> (a -> Maybe a) -> s -> t
+ Diagrams.Prelude: rewriteOnOf :: () => ASetter s t a b -> ASetter a b a b -> (b -> Maybe a) -> s -> t
+ Diagrams.Prelude: right' :: Choice p => p a b -> p (Either c a) (Either c b)
+ Diagrams.Prelude: rmap :: Profunctor p => (b -> c) -> p a b -> p a c
+ Diagrams.Prelude: rmapping :: (Profunctor p, Profunctor q) => AnIso s t a b -> Iso (p x s) (q y t) (p x a) (q y b)
+ Diagrams.Prelude: rosybrown :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: royalblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: runEq :: () => AnEquality s t a b -> Identical s t a b
+ Diagrams.Prelude: saddlebrown :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: salmon :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: sandybrown :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: sans :: At m => Index m -> m -> m
+ Diagrams.Prelude: scanl1Of :: () => LensLike (State (Maybe a)) s t a a -> (a -> a -> a) -> s -> t
+ Diagrams.Prelude: scanr1Of :: () => LensLike (Backwards (State (Maybe a))) s t a a -> (a -> a -> a) -> s -> t
+ Diagrams.Prelude: scribe :: (MonadWriter t m, Monoid s) => ASetter s t a b -> b -> m ()
+ Diagrams.Prelude: seagreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: seashell :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: seconding :: (Bifunctor f, Bifunctor g) => AnIso s t a b -> Iso (f x s) (g y t) (f x a) (g y b)
+ Diagrams.Prelude: selfIndex :: Indexable a p => p a fb -> a -> fb
+ Diagrams.Prelude: sequence1Of_ :: Functor f => Getting (TraversedF a f) s (f a) -> s -> f ()
+ Diagrams.Prelude: sequenceAOf :: () => LensLike f s t (f b) b -> s -> f t
+ Diagrams.Prelude: sequenceAOf_ :: Functor f => Getting (Traversed a f) s (f a) -> s -> f ()
+ Diagrams.Prelude: sequenceBy :: Traversable t => (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> t (f a) -> f (t a)
+ Diagrams.Prelude: sequenceByOf :: () => Traversal s t (f b) b -> (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> s -> f t
+ Diagrams.Prelude: sequenceOf :: () => LensLike (WrappedMonad m) s t (m b) b -> s -> m t
+ Diagrams.Prelude: sequenceOf_ :: Monad m => Getting (Sequenced a m) s (m a) -> s -> m ()
+ Diagrams.Prelude: set :: () => ASetter s t a b -> b -> s -> t
+ Diagrams.Prelude: set' :: () => ASetter' s a -> a -> s -> s
+ Diagrams.Prelude: sets :: (Profunctor p, Profunctor q, Settable f) => (p a b -> q s t) -> Optical p q f s t a b
+ Diagrams.Prelude: setting :: () => ((a -> b) -> s -> t) -> IndexPreservingSetter s t a b
+ Diagrams.Prelude: sienna :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: silver :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: simple :: () => Equality' a a
+ Diagrams.Prelude: simpleLenses :: Lens' LensRules Bool
+ Diagrams.Prelude: simply :: () => (Optic' p f s a -> r) -> Optic' p f s a -> r
+ Diagrams.Prelude: skyblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: slateblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: slategray :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: slategrey :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: snoc :: Snoc s s a a => s -> a -> s
+ Diagrams.Prelude: snow :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: springgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: steelblue :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: storing :: () => ALens s t a b -> b -> s -> t
+ Diagrams.Prelude: strict :: Strict lazy strict => Iso' lazy strict
+ Diagrams.Prelude: substEq :: () => AnEquality s t a b -> ((s ~ a) -> (t ~ b) -> r) -> r
+ Diagrams.Prelude: sumOf :: Num a => Getting (Endo (Endo a)) s a -> s -> a
+ Diagrams.Prelude: swapped :: Swapped p => Iso (p a b) (p c d) (p b a) (p d c)
+ Diagrams.Prelude: taking :: (Conjoined p, Applicative f) => Int -> Traversing p f s t a a -> Over p f s t a a
+ Diagrams.Prelude: takingWhile :: (Conjoined p, Applicative f) => (a -> Bool) -> Over p (TakingWhile p f a a) s t a a -> Over p f s t a a
+ Diagrams.Prelude: teal :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: thistle :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
+ Diagrams.Prelude: toListOf :: () => Getting (Endo [a]) s a -> s -> [a]
+ Diagrams.Prelude: toNonEmptyOf :: () => Getting (NonEmptyDList a) s a -> s -> NonEmpty a
+ Diagrams.Prelude: tomato :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: transformM :: (Monad m, Plated a) => (a -> m a) -> a -> m a
+ Diagrams.Prelude: transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b
+ Diagrams.Prelude: transformMOn :: (Monad m, Plated a) => LensLike (WrappedMonad m) s t a a -> (a -> m a) -> s -> m t
+ Diagrams.Prelude: transformMOnOf :: Monad m => LensLike (WrappedMonad m) s t a b -> LensLike (WrappedMonad m) a b a b -> (b -> m b) -> s -> m t
+ Diagrams.Prelude: transformOf :: () => ASetter a b a b -> (b -> b) -> a -> b
+ Diagrams.Prelude: transformOn :: Plated a => ASetter s t a a -> (a -> a) -> s -> t
+ Diagrams.Prelude: transformOnOf :: () => ASetter s t a b -> ASetter a b a b -> (b -> b) -> s -> t
+ Diagrams.Prelude: transparent :: Num a => AlphaColour a
+ Diagrams.Prelude: transposeOf :: () => LensLike ZipList s t [a] a -> s -> [t]
+ Diagrams.Prelude: traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
+ Diagrams.Prelude: traverse1 :: (Traversable1 t, Apply f) => (a -> f b) -> t a -> f (t b)
+ Diagrams.Prelude: traverse1Of_ :: Functor f => Getting (TraversedF r f) s a -> (a -> f r) -> s -> f ()
+ Diagrams.Prelude: traverseBy :: Traversable t => (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> (a -> f b) -> t a -> f (t b)
+ Diagrams.Prelude: traverseByOf :: () => Traversal s t a b -> (forall x. () => x -> f x) -> (forall x y. () => f (x -> y) -> f x -> f y) -> (a -> f b) -> s -> f t
+ Diagrams.Prelude: traverseMax :: TraverseMax k m => IndexedTraversal' k (m v) v
+ Diagrams.Prelude: traverseMin :: TraverseMin k m => IndexedTraversal' k (m v) v
+ Diagrams.Prelude: traverseOf :: () => LensLike f s t a b -> (a -> f b) -> s -> f t
+ Diagrams.Prelude: traverseOf_ :: Functor f => Getting (Traversed r f) s a -> (a -> f r) -> s -> f ()
+ Diagrams.Prelude: traversed :: Traversable f => IndexedTraversal Int (f a) (f b) a b
+ Diagrams.Prelude: traversed1 :: Traversable1 f => IndexedTraversal1 Int (f a) (f b) a b
+ Diagrams.Prelude: traversed64 :: Traversable f => IndexedTraversal Int64 (f a) (f b) a b
+ Diagrams.Prelude: turquoise :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: type ALens s t a b = LensLike Pretext ((->) :: Type -> Type -> Type) a b s t a b
+ Diagrams.Prelude: type ALens' s a = ALens s s a a
+ Diagrams.Prelude: type APrism s t a b = Market a b a Identity b -> Market a b s Identity t
+ Diagrams.Prelude: type APrism' s a = APrism s s a a
+ Diagrams.Prelude: type AReview t b = Optic' (Tagged :: Type -> Type -> Type) Identity t b
+ Diagrams.Prelude: type ASetter s t a b = a -> Identity b -> s -> Identity t
+ Diagrams.Prelude: type ASetter' s a = ASetter s s a a
+ Diagrams.Prelude: type ATraversal s t a b = LensLike Bazaar ((->) :: Type -> Type -> Type) a b s t a b
+ Diagrams.Prelude: type ATraversal' s a = ATraversal s s a a
+ Diagrams.Prelude: type ATraversal1 s t a b = LensLike Bazaar1 ((->) :: Type -> Type -> Type) a b s t a b
+ Diagrams.Prelude: type ATraversal1' s a = ATraversal1 s s a a
+ Diagrams.Prelude: type Accessing (p :: Type -> Type -> Type) m s a = p a Const m a -> s -> Const m s
+ Diagrams.Prelude: type AnEquality (s :: k1) (t :: k2) (a :: k1) (b :: k2) = Identical a Proxy b a Proxy b -> Identical a Proxy b s Proxy t
+ Diagrams.Prelude: type AnEquality' (s :: k2) (a :: k2) = AnEquality s s a a
+ Diagrams.Prelude: type AnIndexedLens i s t a b = Optical Indexed i ((->) :: Type -> Type -> Type) Pretext Indexed i a b s t a b
+ Diagrams.Prelude: type AnIndexedLens' i s a = AnIndexedLens i s s a a
+ Diagrams.Prelude: type AnIndexedSetter i s t a b = Indexed i a Identity b -> s -> Identity t
+ Diagrams.Prelude: type AnIndexedSetter' i s a = AnIndexedSetter i s s a a
+ Diagrams.Prelude: type AnIndexedTraversal i s t a b = Over Indexed i Bazaar Indexed i a b s t a b
+ Diagrams.Prelude: type AnIndexedTraversal' i s a = AnIndexedTraversal i s s a a
+ Diagrams.Prelude: type AnIndexedTraversal1 i s t a b = Over Indexed i Bazaar1 Indexed i a b s t a b
+ Diagrams.Prelude: type AnIndexedTraversal1' i s a = AnIndexedTraversal1 i s s a a
+ Diagrams.Prelude: type AnIso s t a b = Exchange a b a Identity b -> Exchange a b s Identity t
+ Diagrams.Prelude: type AnIso' s a = AnIso s s a a
+ Diagrams.Prelude: type As (a :: k2) = Equality' a a
+ Diagrams.Prelude: type Bazaar' (p :: Type -> Type -> Type) a = Bazaar p a a
+ Diagrams.Prelude: type Bazaar1' (p :: Type -> Type -> Type) a = Bazaar1 p a a
+ Diagrams.Prelude: type ClassyNamer = Name -> Maybe (Name, Name)
+ Diagrams.Prelude: type Context' a = Context a a
+ Diagrams.Prelude: type Equality' (s :: k2) (a :: k2) = Equality s s a a
+ Diagrams.Prelude: type FieldNamer = Name -> [Name] -> Name -> [DefName]
+ Diagrams.Prelude: type Getting r s a = a -> Const r a -> s -> Const r s
+ Diagrams.Prelude: type IndexPreservingLens' s a = IndexPreservingLens s s a a
+ Diagrams.Prelude: type IndexPreservingSetter' s a = IndexPreservingSetter s s a a
+ Diagrams.Prelude: type IndexPreservingTraversal' s a = IndexPreservingTraversal s s a a
+ Diagrams.Prelude: type IndexPreservingTraversal1' s a = IndexPreservingTraversal1 s s a a
+ Diagrams.Prelude: type IndexedGetting i m s a = Indexed i a Const m a -> s -> Const m s
+ Diagrams.Prelude: type IndexedLens' i s a = IndexedLens i s s a a
+ Diagrams.Prelude: type IndexedLensLike' i (f :: Type -> Type) s a = IndexedLensLike i f s s a a
+ Diagrams.Prelude: type IndexedSetter' i s a = IndexedSetter i s s a a
+ Diagrams.Prelude: type IndexedTraversal' i s a = IndexedTraversal i s s a a
+ Diagrams.Prelude: type IndexedTraversal1' i s a = IndexedTraversal1 i s s a a
+ Diagrams.Prelude: type Iso' s a = Iso s s a a
+ Diagrams.Prelude: type Lens' s a = Lens s s a a
+ Diagrams.Prelude: type LensLike (f :: k -> Type) s (t :: k) a (b :: k) = a -> f b -> s -> f t
+ Diagrams.Prelude: type LensLike' (f :: Type -> Type) s a = LensLike f s s a a
+ Diagrams.Prelude: type Optic (p :: k1 -> k -> Type) (f :: k2 -> k) (s :: k1) (t :: k2) (a :: k1) (b :: k2) = p a f b -> p s f t
+ Diagrams.Prelude: type Optic' (p :: k1 -> k -> Type) (f :: k1 -> k) (s :: k1) (a :: k1) = Optic p f s s a a
+ Diagrams.Prelude: type Optical (p :: k2 -> k -> Type) (q :: k1 -> k -> Type) (f :: k3 -> k) (s :: k1) (t :: k3) (a :: k2) (b :: k3) = p a f b -> q s f t
+ Diagrams.Prelude: type Optical' (p :: k1 -> k -> Type) (q :: k1 -> k -> Type) (f :: k1 -> k) (s :: k1) (a :: k1) = Optical p q f s s a a
+ Diagrams.Prelude: type Over (p :: k -> Type -> Type) (f :: k1 -> Type) s (t :: k1) (a :: k) (b :: k1) = p a f b -> s -> f t
+ Diagrams.Prelude: type Over' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Over p f s s a a
+ Diagrams.Prelude: type Prism' s a = Prism s s a a
+ Diagrams.Prelude: type ReifiedIndexedLens' i s a = ReifiedIndexedLens i s s a a
+ Diagrams.Prelude: type ReifiedIndexedSetter' i s a = ReifiedIndexedSetter i s s a a
+ Diagrams.Prelude: type ReifiedIndexedTraversal' i s a = ReifiedIndexedTraversal i s s a a
+ Diagrams.Prelude: type ReifiedIso' s a = ReifiedIso s s a a
+ Diagrams.Prelude: type ReifiedLens' s a = ReifiedLens s s a a
+ Diagrams.Prelude: type ReifiedPrism' s a = ReifiedPrism s s a a
+ Diagrams.Prelude: type ReifiedSetter' s a = ReifiedSetter s s a a
+ Diagrams.Prelude: type ReifiedTraversal' s a = ReifiedTraversal s s a a
+ Diagrams.Prelude: type Setter' s a = Setter s s a a
+ Diagrams.Prelude: type Setting (p :: Type -> Type -> Type) s t a b = p a Identity b -> s -> Identity t
+ Diagrams.Prelude: type Setting' (p :: Type -> Type -> Type) s a = Setting p s s a a
+ Diagrams.Prelude: type Simple (f :: k -> k -> k1 -> k1 -> k2) (s :: k) (a :: k1) = f s s a a
+ Diagrams.Prelude: type Traversal' s a = Traversal s s a a
+ Diagrams.Prelude: type Traversal1' s a = Traversal1 s s a a
+ Diagrams.Prelude: type Traversing (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p BazaarT p f a b s t a b
+ Diagrams.Prelude: type Traversing' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing p f s s a a
+ Diagrams.Prelude: type Traversing1 (p :: Type -> Type -> Type) (f :: Type -> Type) s t a b = Over p BazaarT1 p f a b s t a b
+ Diagrams.Prelude: type Traversing1' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Traversing1 p f s s a a
+ Diagrams.Prelude: type Fold1 s a = forall (f :: Type -> Type). (Contravariant f, Apply f) => a -> f a -> s -> f s
+ Diagrams.Prelude: type family Unwrapped s :: Type;
+ Diagrams.Prelude: type IndexedLensLike i (f :: k -> Type) s (t :: k) a (b :: k) = forall (p :: Type -> Type -> Type). Indexable i p => p a f b -> s -> f t
+ Diagrams.Prelude: un :: (Profunctor p, Bifunctor p, Functor f) => Getting a s a -> Optic' p f a s
+ Diagrams.Prelude: uncons :: Cons s s a a => s -> Maybe (a, s)
+ Diagrams.Prelude: uncurried :: () => Iso (a -> b -> c) (d -> e -> f) ((a, b) -> c) ((d, e) -> f)
+ Diagrams.Prelude: under :: () => AnIso s t a b -> (t -> s) -> b -> a
+ Diagrams.Prelude: underEquality :: () => AnEquality s t a b -> p t s -> p b a
+ Diagrams.Prelude: underscoreFields :: LensRules
+ Diagrams.Prelude: underscoreNamer :: FieldNamer
+ Diagrams.Prelude: underscoreNoPrefixNamer :: FieldNamer
+ Diagrams.Prelude: unfolded :: () => (b -> Maybe (a, b)) -> Fold b a
+ Diagrams.Prelude: united :: () => Lens' a ()
+ Diagrams.Prelude: universe :: Plated a => a -> [a]
+ Diagrams.Prelude: universeOf :: () => Getting [a] a a -> a -> [a]
+ Diagrams.Prelude: universeOn :: Plated a => Getting [a] s a -> s -> [a]
+ Diagrams.Prelude: universeOnOf :: () => Getting [a] s a -> Getting [a] a a -> s -> [a]
+ Diagrams.Prelude: unsafePartsOf :: Functor f => Traversing ((->) :: Type -> Type -> Type) f s t a b -> LensLike f s t [a] [b]
+ Diagrams.Prelude: unsafePartsOf' :: () => ATraversal s t a b -> Lens s t [a] [b]
+ Diagrams.Prelude: unsafeSingular :: (HasCallStack, Conjoined p, Functor f) => Traversing p f s t a b -> Over p f s t a b
+ Diagrams.Prelude: unsnoc :: Snoc s s a a => s -> Maybe (s, a)
+ Diagrams.Prelude: unto :: (Profunctor p, Bifunctor p, Functor f) => (b -> t) -> Optic p f s t a b
+ Diagrams.Prelude: use :: MonadState s m => Getting a s a -> m a
+ Diagrams.Prelude: uses :: MonadState s m => LensLike' (Const r :: Type -> Type) s a -> (a -> r) -> m r
+ Diagrams.Prelude: view :: MonadReader s m => Getting a s a -> m a
+ Diagrams.Prelude: views :: MonadReader s m => LensLike' (Const r :: Type -> Type) s a -> (a -> r) -> m r
+ Diagrams.Prelude: violet :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: wheat :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: white :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: whitesmoke :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: withEquality :: () => AnEquality s t a b -> ((s :~: a) -> (b :~: t) -> r) -> r
+ Diagrams.Prelude: withIndex :: (Indexable i p, Functor f) => p (i, s) (f (j, t)) -> Indexed i s (f t)
+ Diagrams.Prelude: withIso :: () => AnIso s t a b -> ((s -> a) -> (b -> t) -> r) -> r
+ Diagrams.Prelude: withLens :: () => ALens s t a b -> ((s -> a) -> (s -> b -> t) -> r) -> r
+ Diagrams.Prelude: withOpacity :: Num a => Colour a -> a -> AlphaColour a
+ Diagrams.Prelude: withPrism :: () => APrism s t a b -> ((b -> t) -> (s -> Either t a) -> r) -> r
+ Diagrams.Prelude: without :: () => APrism s t a b -> APrism u v c d -> Prism (Either s u) (Either t v) (Either a c) (Either b d)
+ Diagrams.Prelude: worded :: Applicative f => IndexedLensLike' Int f String String
+ Diagrams.Prelude: xplat :: () => Optic (Costar ((->) s :: Type -> Type)) g s t a b -> ((s -> a) -> g b) -> g t
+ Diagrams.Prelude: xplatf :: () => Optic (Costar f) g s t a b -> (f a -> g b) -> f s -> g t
+ Diagrams.Prelude: yellow :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: yellowgreen :: (Ord a, Floating a) => Colour a
+ Diagrams.Prelude: zoom :: Zoom m n s t => LensLike' (Zoomed m c) t s -> m c -> n c
+ Diagrams.Prelude: }
+ Diagrams.Segment: instance (GHC.Num.Num n, GHC.Classes.Ord n) => GHC.Base.Semigroup (Diagrams.Segment.ArcLength n)
+ Diagrams.Segment: instance (GHC.Num.Num n, Linear.Vector.Additive v) => GHC.Base.Semigroup (Diagrams.Segment.TotalOffset v n)
+ Diagrams.Segment: instance (Linear.Metric.Metric v, Diagrams.Core.Envelope.OrderedField n) => GHC.Base.Semigroup (Diagrams.Segment.OffsetEnvelope v n)
+ Diagrams.Segment: instance GHC.Base.Semigroup Diagrams.Segment.SegCount
+ Diagrams.Segment: instance GHC.Classes.Eq (v n) => GHC.Classes.Eq (Diagrams.Segment.FixedSegment v n)
+ Diagrams.Segment: instance GHC.Classes.Ord (v n) => GHC.Classes.Ord (Diagrams.Segment.FixedSegment v n)
+ Diagrams.ThreeD.Attributes: instance GHC.Base.Semigroup Diagrams.ThreeD.Attributes.Ambient
+ Diagrams.ThreeD.Attributes: instance GHC.Base.Semigroup Diagrams.ThreeD.Attributes.Diffuse
+ Diagrams.ThreeD.Attributes: instance GHC.Base.Semigroup Diagrams.ThreeD.Attributes.Highlight
+ Diagrams.ThreeD.Attributes: instance GHC.Base.Semigroup Diagrams.ThreeD.Attributes.SurfaceColor
+ Diagrams.ThreeD.Shapes: instance (GHC.Float.Floating n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.CSG n) Data.Semigroup.Internal.Any
+ Diagrams.ThreeD.Shapes: instance (GHC.Num.Num n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Box n) Data.Semigroup.Internal.Any
+ Diagrams.ThreeD.Shapes: instance (GHC.Num.Num n, GHC.Classes.Ord n) => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Ellipsoid n) Data.Semigroup.Internal.Any
+ Diagrams.ThreeD.Shapes: instance Diagrams.Core.Envelope.OrderedField n => Diagrams.Query.HasQuery (Diagrams.ThreeD.Shapes.Frustum n) Data.Semigroup.Internal.Any
+ Diagrams.Trail: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v) => GHC.Base.Semigroup (Diagrams.Trail.Trail v n)
+ Diagrams.Trail: instance (Diagrams.Core.Envelope.OrderedField n, Linear.Metric.Metric v) => GHC.Base.Semigroup (Diagrams.Trail.Trail' Diagrams.Trail.Line v n)
+ Diagrams.Trail: instance (GHC.Classes.Ord n, GHC.Float.Floating n, Linear.Metric.Metric v) => GHC.Base.Semigroup (Diagrams.Trail.SegTree v n)
+ Diagrams.Trail: instance (GHC.Float.Floating n, GHC.Classes.Ord n, Linear.Metric.Metric v) => Data.FingerTree.Measured (Diagrams.Segment.SegMeasure v n) (Diagrams.Trail.SegTree v n)
+ Diagrams.Trail: instance (GHC.Float.Floating n, GHC.Classes.Ord n, Linear.Metric.Metric v) => Diagrams.Core.Transform.Transformable (Diagrams.Trail.SegTree v n)
+ Diagrams.Trail: instance (GHC.Float.Floating n, GHC.Classes.Ord n, Linear.Metric.Metric v) => GHC.Base.Monoid (Diagrams.Trail.SegTree v n)
+ Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t Data.Type.Equality.~ Linear.V2.V2, Diagrams.Core.V.N t Data.Type.Equality.~ n, GHC.Float.RealFloat n, Diagrams.Core.Transform.Transformable t) => Diagrams.Core.Transform.Transformable (Diagrams.Transform.ScaleInv.ScaleInv t)
+ Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t Data.Type.Equality.~ Linear.V2.V2, Diagrams.Core.V.N t Data.Type.Equality.~ n, GHC.Float.RealFloat n, Diagrams.Core.Types.Renderable t b) => Diagrams.Core.Types.Renderable (Diagrams.Transform.ScaleInv.ScaleInv t) b
+ Diagrams.Transform.ScaleInv: instance (Diagrams.Core.V.V t Data.Type.Equality.~ v, Diagrams.Core.V.N t Data.Type.Equality.~ n, Linear.Vector.Additive v, GHC.Num.Num n, Diagrams.Core.HasOrigin.HasOrigin t) => Diagrams.Core.HasOrigin.HasOrigin (Diagrams.Transform.ScaleInv.ScaleInv t)
+ Diagrams.TwoD: crop :: forall b n m. (OrderedField n, Monoid' m) => Point V2 n -> V2 n -> QDiagram b V2 n m -> QDiagram b V2 n m
+ Diagrams.TwoD.Attributes: instance GHC.Base.Semigroup (Diagrams.TwoD.Attributes.FillTexture n)
+ Diagrams.TwoD.Attributes: instance GHC.Base.Semigroup (Diagrams.TwoD.Attributes.LineTexture n)
+ Diagrams.TwoD.Combinators: crop :: forall b n m. (OrderedField n, Monoid' m) => Point V2 n -> V2 n -> QDiagram b V2 n m -> QDiagram b V2 n m
+ Diagrams.TwoD.Image: instance GHC.Float.RealFloat n => Diagrams.Query.HasQuery (Diagrams.TwoD.Image.DImage n a) Data.Semigroup.Internal.Any
+ Diagrams.TwoD.Path: instance (Diagrams.Core.Types.TypeableFloat n, Diagrams.Core.Types.Renderable (Diagrams.Path.Path Linear.V2.V2 n) b) => Diagrams.TrailLike.TrailLike (Diagrams.Core.Types.QDiagram b Linear.V2.V2 n Data.Semigroup.Internal.Any)
+ Diagrams.TwoD.Path: instance (Diagrams.TwoD.Path.Clip n1 Data.Type.Equality.~ t) => Control.Lens.Wrapped.Rewrapped (Diagrams.TwoD.Path.Clip n2) t
+ Diagrams.TwoD.Path: instance GHC.Base.Semigroup (Diagrams.TwoD.Path.Clip n)
+ Diagrams.TwoD.Path: instance GHC.Base.Semigroup Diagrams.TwoD.Path.Crossings
+ Diagrams.TwoD.Path: instance GHC.Base.Semigroup Diagrams.TwoD.Path.FillRule
+ Diagrams.TwoD.Path: instance GHC.Float.RealFloat n => Diagrams.Query.HasQuery (Diagrams.TwoD.Path.Clip n) Data.Semigroup.Internal.All
+ Diagrams.TwoD.Text: instance GHC.Base.Semigroup (Diagrams.TwoD.Text.FontSize n)
+ Diagrams.TwoD.Text: instance GHC.Base.Semigroup Diagrams.TwoD.Text.Font
+ Diagrams.TwoD.Text: instance GHC.Base.Semigroup Diagrams.TwoD.Text.FontSlant
+ Diagrams.TwoD.Text: instance GHC.Base.Semigroup Diagrams.TwoD.Text.FontWeight
- Diagrams.Attributes: LineMiterLimit :: (Last Double) -> LineMiterLimit
+ Diagrams.Attributes: LineMiterLimit :: Last Double -> LineMiterLimit
- Diagrams.Backend.CmdLine: mainArgs :: (Mainable d, Parseable (MainOpts d)) => d -> IO (MainOpts d)
+ Diagrams.Backend.CmdLine: mainArgs :: (Mainable d, Parseable (MainOpts d)) => proxy d -> IO (MainOpts d)
- Diagrams.Backend.CmdLine: readHexColor :: (Applicative m, Monad m) => String -> m (AlphaColour Double)
+ Diagrams.Backend.CmdLine: readHexColor :: (Applicative m, MonadFail m) => String -> m (AlphaColour Double)
- Diagrams.Combinators: composeAligned :: (Monoid' m, Floating n, Ord n, Metric v) => (QDiagram b v n m -> QDiagram b v n m) -> ([QDiagram b v n m] -> QDiagram b v n m) -> ([QDiagram b v n m] -> QDiagram b v n m)
+ Diagrams.Combinators: composeAligned :: (Monoid' m, Floating n, Ord n, Metric v) => (QDiagram b v n m -> QDiagram b v n m) -> ([QDiagram b v n m] -> QDiagram b v n m) -> [QDiagram b v n m] -> QDiagram b v n m
- Diagrams.Coordinates: data a (:&) b
+ Diagrams.Coordinates: data a :& b
- Diagrams.Envelope: data Envelope (v :: * -> *) n :: (* -> *) -> * -> *
+ Diagrams.Envelope: data Envelope (v :: Type -> Type) n
- Diagrams.Envelope: diameter :: ((~) (* -> *) V a v, (~) * N a n, Enveloped a) => v n -> a -> n
+ Diagrams.Envelope: diameter :: (V a ~ v, N a ~ n, Enveloped a) => v n -> a -> n
- Diagrams.Envelope: envelope :: (OrderedField n, Metric v, Monoid' m) => Lens' QDiagram b v n m Envelope v n
+ Diagrams.Envelope: envelope :: (OrderedField n, Metric v, Monoid' m) => Lens' (QDiagram b v n m) (Envelope v n)
- Diagrams.Envelope: envelopeP :: ((~) (* -> *) V a v, (~) * N a n, Enveloped a) => v n -> a -> Point v n
+ Diagrams.Envelope: envelopeP :: (V a ~ v, N a ~ n, Enveloped a) => v n -> a -> Point v n
- Diagrams.Envelope: envelopePMay :: ((~) (* -> *) V a v, (~) * N a n, Enveloped a) => v n -> a -> Maybe Point v n
+ Diagrams.Envelope: envelopePMay :: (V a ~ v, N a ~ n, Enveloped a) => v n -> a -> Maybe (Point v n)
- Diagrams.Envelope: envelopeVMay :: Enveloped a => Vn a -> a -> Maybe Vn a
+ Diagrams.Envelope: envelopeVMay :: Enveloped a => Vn a -> a -> Maybe (Vn a)
- Diagrams.Envelope: radius :: ((~) (* -> *) V a v, (~) * N a n, Enveloped a) => v n -> a -> n
+ Diagrams.Envelope: radius :: (V a ~ v, N a ~ n, Enveloped a) => v n -> a -> n
- Diagrams.LinearMap: AffineMap :: (LinearMap v u n) -> (u n) -> AffineMap v u n
+ Diagrams.LinearMap: AffineMap :: LinearMap v u n -> u n -> AffineMap v u n
- Diagrams.Names: class (Typeable * a, Ord a, Show a) => IsName a
+ Diagrams.Names: class (Typeable a, Ord a, Show a) => IsName a
- Diagrams.Names: data AName :: *
+ Diagrams.Names: data AName
- Diagrams.Names: data Name :: *
+ Diagrams.Names: data Name
- Diagrams.Names: data SubMap b (v :: * -> *) n m :: * -> (* -> *) -> * -> * -> *
+ Diagrams.Names: data SubMap b (v :: Type -> Type) n m
- Diagrams.Names: data Subdiagram b (v :: * -> *) n m :: * -> (* -> *) -> * -> * -> *
+ Diagrams.Names: data Subdiagram b (v :: Type -> Type) n m
- Diagrams.Names: infixr 5 .>
+ Diagrams.Names: infixr 5 .>>
- Diagrams.Names: lookupName :: (IsName nm, Metric v, Semigroup m, OrderedField n) => nm -> QDiagram b v n m -> Maybe Subdiagram b v n m
+ Diagrams.Names: lookupName :: (IsName nm, Metric v, Semigroup m, OrderedField n) => nm -> QDiagram b v n m -> Maybe (Subdiagram b v n m)
- Diagrams.Points: _Point :: (Profunctor p, Functor f) => p f a f f a -> p Point f a f Point f a
+ Diagrams.Points: _Point :: () => Iso' (Point f a) (f a)
- Diagrams.Points: lensP :: Functor f => (g a -> f g a) -> Point g a -> f Point g a
+ Diagrams.Points: lensP :: () => Lens' (Point g a) (g a)
- Diagrams.Points: newtype Point (f :: * -> *) a :: (* -> *) -> * -> *
+ Diagrams.Points: newtype Point (f :: Type -> Type) a
- Diagrams.Prelude: (*>) :: Applicative f => forall a b. () => f a -> f b -> f b
+ Diagrams.Prelude: (*>) :: Applicative f => f a -> f b -> f b
- Diagrams.Prelude: (<$) :: Functor f => forall a b. () => a -> f b -> f a
+ Diagrams.Prelude: (<$) :: Functor f => a -> f b -> f a
- Diagrams.Prelude: (<*) :: Applicative f => forall a b. () => f a -> f b -> f a
+ Diagrams.Prelude: (<*) :: Applicative f => f a -> f b -> f a
- Diagrams.Prelude: class Functor f => Applicative (f :: * -> *)
+ Diagrams.Prelude: class Functor f => Applicative (f :: Type -> Type)
- Diagrams.Prelude: liftA2 :: Applicative f => forall a b c. () => (a -> b -> c) -> f a -> f b -> f c
+ Diagrams.Prelude: liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
- Diagrams.Query: newtype Query (v :: * -> *) n m :: (* -> *) -> * -> * -> *
+ Diagrams.Query: newtype Query (v :: Type -> Type) n m
- Diagrams.Segment: Cubic :: !(v n) -> !(v n) -> !(Offset c v n) -> Segment c v n
+ Diagrams.Segment: Cubic :: !v n -> !v n -> !Offset c v n -> Segment c v n
- Diagrams.Segment: FCubic :: (Point v n) -> (Point v n) -> (Point v n) -> (Point v n) -> FixedSegment v n
+ Diagrams.Segment: FCubic :: Point v n -> Point v n -> Point v n -> Point v n -> FixedSegment v n
- Diagrams.Segment: FLinear :: (Point v n) -> (Point v n) -> FixedSegment v n
+ Diagrams.Segment: FLinear :: Point v n -> Point v n -> FixedSegment v n
- Diagrams.Segment: Linear :: !(Offset c v n) -> Segment c v n
+ Diagrams.Segment: Linear :: !Offset c v n -> Segment c v n
- Diagrams.Segment: OffsetEnvelope :: !(TotalOffset v n) -> Envelope v n -> OffsetEnvelope v n
+ Diagrams.Segment: OffsetEnvelope :: !TotalOffset v n -> Envelope v n -> OffsetEnvelope v n
- Diagrams.Segment: SegCount :: (Sum Int) -> SegCount
+ Diagrams.Segment: SegCount :: Sum Int -> SegCount
- Diagrams.Segment: TotalOffset :: (v n) -> TotalOffset v n
+ Diagrams.Segment: TotalOffset :: v n -> TotalOffset v n
- Diagrams.Segment: [_oeOffset] :: OffsetEnvelope v n -> !(TotalOffset v n)
+ Diagrams.Segment: [_oeOffset] :: OffsetEnvelope v n -> !TotalOffset v n
- Diagrams.Segment: oeEnvelope :: forall v_a1e5C n_a1e5D. Lens' (OffsetEnvelope v_a1e5C n_a1e5D) (Envelope v_a1e5C n_a1e5D)
+ Diagrams.Segment: oeEnvelope :: forall v_a1bth n_a1bti. Lens' (OffsetEnvelope v_a1bth n_a1bti) (Envelope v_a1bth n_a1bti)
- Diagrams.Segment: oeOffset :: forall v_a1e5C n_a1e5D. Lens' (OffsetEnvelope v_a1e5C n_a1e5D) (TotalOffset v_a1e5C n_a1e5D)
+ Diagrams.Segment: oeOffset :: forall v_a1bth n_a1bti. Lens' (OffsetEnvelope v_a1bth n_a1bti) (TotalOffset v_a1bth n_a1bti)
- Diagrams.Segment: type SegMeasure v n = SegCount ::: (ArcLength n ::: (OffsetEnvelope v n ::: ()))
+ Diagrams.Segment: type SegMeasure v n = SegCount ::: ArcLength n ::: OffsetEnvelope v n ::: ()
- Diagrams.ThreeD.Attributes: Ambient :: (Last Double) -> Ambient
+ Diagrams.ThreeD.Attributes: Ambient :: Last Double -> Ambient
- Diagrams.ThreeD.Attributes: Diffuse :: (Last Double) -> Diffuse
+ Diagrams.ThreeD.Attributes: Diffuse :: Last Double -> Diffuse
- Diagrams.ThreeD.Attributes: Highlight :: (Last Specular) -> Highlight
+ Diagrams.ThreeD.Attributes: Highlight :: Last Specular -> Highlight
- Diagrams.ThreeD.Attributes: SurfaceColor :: (Last (Colour Double)) -> SurfaceColor
+ Diagrams.ThreeD.Attributes: SurfaceColor :: Last (Colour Double) -> SurfaceColor
- Diagrams.ThreeD.Camera: horizontalFieldOfView :: forall n_aZLQ. Lens' (PerspectiveLens n_aZLQ) (Angle n_aZLQ)
+ Diagrams.ThreeD.Camera: horizontalFieldOfView :: forall n_aXCi. Lens' (PerspectiveLens n_aXCi) (Angle n_aXCi)
- Diagrams.ThreeD.Camera: orthoHeight :: forall n_aZOy. Lens' (OrthoLens n_aZOy) n_aZOy
+ Diagrams.ThreeD.Camera: orthoHeight :: forall n_aXFa. Lens' (OrthoLens n_aXFa) n_aXFa
- Diagrams.ThreeD.Camera: orthoWidth :: forall n_aZOy. Lens' (OrthoLens n_aZOy) n_aZOy
+ Diagrams.ThreeD.Camera: orthoWidth :: forall n_aXFa. Lens' (OrthoLens n_aXFa) n_aXFa
- Diagrams.ThreeD.Camera: verticalFieldOfView :: forall n_aZLQ. Lens' (PerspectiveLens n_aZLQ) (Angle n_aZLQ)
+ Diagrams.ThreeD.Camera: verticalFieldOfView :: forall n_aXCi. Lens' (PerspectiveLens n_aXCi) (Angle n_aXCi)
- Diagrams.ThreeD.Light: ParallelLight :: (V3 n) -> (Colour Double) -> ParallelLight n
+ Diagrams.ThreeD.Light: ParallelLight :: V3 n -> Colour Double -> ParallelLight n
- Diagrams.ThreeD.Light: PointLight :: (Point V3 n) -> (Colour Double) -> PointLight n
+ Diagrams.ThreeD.Light: PointLight :: Point V3 n -> Colour Double -> PointLight n
- Diagrams.ThreeD.Shapes: Box :: (Transformation V3 n) -> Box n
+ Diagrams.ThreeD.Shapes: Box :: Transformation V3 n -> Box n
- Diagrams.ThreeD.Shapes: CsgBox :: (Box n) -> CSG n
+ Diagrams.ThreeD.Shapes: CsgBox :: Box n -> CSG n
- Diagrams.ThreeD.Shapes: CsgDifference :: (CSG n) -> (CSG n) -> CSG n
+ Diagrams.ThreeD.Shapes: CsgDifference :: CSG n -> CSG n -> CSG n
- Diagrams.ThreeD.Shapes: CsgEllipsoid :: (Ellipsoid n) -> CSG n
+ Diagrams.ThreeD.Shapes: CsgEllipsoid :: Ellipsoid n -> CSG n
- Diagrams.ThreeD.Shapes: CsgFrustum :: (Frustum n) -> CSG n
+ Diagrams.ThreeD.Shapes: CsgFrustum :: Frustum n -> CSG n
- Diagrams.ThreeD.Shapes: Ellipsoid :: (Transformation V3 n) -> Ellipsoid n
+ Diagrams.ThreeD.Shapes: Ellipsoid :: Transformation V3 n -> Ellipsoid n
- Diagrams.ThreeD.Shapes: Frustum :: n -> n -> (Transformation V3 n) -> Frustum n
+ Diagrams.ThreeD.Shapes: Frustum :: n -> n -> Transformation V3 n -> Frustum n
- Diagrams.ThreeD.Types: _x :: (R1 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.ThreeD.Types: _x :: R1 t => Lens' (t a) a
- Diagrams.ThreeD.Types: _xy :: (R2 t, Functor f) => (V2 a -> f V2 a) -> t a -> f t a
+ Diagrams.ThreeD.Types: _xy :: R2 t => Lens' (t a) (V2 a)
- Diagrams.ThreeD.Types: _xyz :: (R3 t, Functor f) => (V3 a -> f V3 a) -> t a -> f t a
+ Diagrams.ThreeD.Types: _xyz :: R3 t => Lens' (t a) (V3 a)
- Diagrams.ThreeD.Types: _y :: (R2 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.ThreeD.Types: _y :: R2 t => Lens' (t a) a
- Diagrams.ThreeD.Types: _z :: (R3 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.ThreeD.Types: _z :: R3 t => Lens' (t a) a
- Diagrams.ThreeD.Types: class R1 (t :: * -> *)
+ Diagrams.ThreeD.Types: class R1 (t :: Type -> Type)
- Diagrams.ThreeD.Types: class R1 t => R2 (t :: * -> *)
+ Diagrams.ThreeD.Types: class R1 t => R2 (t :: Type -> Type)
- Diagrams.ThreeD.Types: class R2 t => R3 (t :: * -> *)
+ Diagrams.ThreeD.Types: class R2 t => R3 (t :: Type -> Type)
- Diagrams.ThreeD.Types: data V3 a :: * -> *
+ Diagrams.ThreeD.Types: data V3 a
- Diagrams.Trace: data Trace (v :: * -> *) n :: (* -> *) -> * -> *
+ Diagrams.Trace: data Trace (v :: Type -> Type) n
- Diagrams.Trace: maxTraceP :: ((~) * n N a, Num n, Traced a) => Point V a n -> V a n -> a -> Maybe Point V a n
+ Diagrams.Trace: maxTraceP :: (n ~ N a, Num n, Traced a) => Point (V a) n -> V a n -> a -> Maybe (Point (V a) n)
- Diagrams.Trace: maxTraceV :: ((~) * n N a, Num n, Traced a) => Point V a n -> V a n -> a -> Maybe V a n
+ Diagrams.Trace: maxTraceV :: (n ~ N a, Num n, Traced a) => Point (V a) n -> V a n -> a -> Maybe (V a n)
- Diagrams.Trace: trace :: (Metric v, OrderedField n, Semigroup m) => Lens' QDiagram b v n m Trace v n
+ Diagrams.Trace: trace :: (Metric v, OrderedField n, Semigroup m) => Lens' (QDiagram b v n m) (Trace v n)
- Diagrams.Trace: traceP :: ((~) * n N a, Traced a, Num n) => Point V a n -> V a n -> a -> Maybe Point V a n
+ Diagrams.Trace: traceP :: (n ~ N a, Traced a, Num n) => Point (V a) n -> V a n -> a -> Maybe (Point (V a) n)
- Diagrams.Trace: traceV :: ((~) * n N a, Num n, Traced a) => Point V a n -> V a n -> a -> Maybe V a n
+ Diagrams.Trace: traceV :: (n ~ N a, Num n, Traced a) => Point (V a) n -> V a n -> a -> Maybe (V a n)
- Diagrams.Trail: GetSegmentCodomain :: (Maybe (v n, Segment Closed v n, AnIso' n n)) -> GetSegmentCodomain v n
+ Diagrams.Trail: GetSegmentCodomain :: Maybe (v n, Segment Closed v n, AnIso' n n) -> GetSegmentCodomain v n
- Diagrams.Trail: SegTree :: (FingerTree (SegMeasure v n) (Segment Closed v n)) -> SegTree v n
+ Diagrams.Trail: SegTree :: FingerTree (SegMeasure v n) (Segment Closed v n) -> SegTree v n
- Diagrams.Transform: data Transformation (v :: * -> *) n :: (* -> *) -> * -> *
+ Diagrams.Transform: data Transformation (v :: Type -> Type) n
- Diagrams.Transform: moveOriginBy :: ((~) (* -> *) V t v, (~) * N t n, HasOrigin t) => v n -> t -> t
+ Diagrams.Transform: moveOriginBy :: (V t ~ v, N t ~ n, HasOrigin t) => v n -> t -> t
- Diagrams.Transform: moveOriginTo :: HasOrigin t => Point V t N t -> t -> t
+ Diagrams.Transform: moveOriginTo :: HasOrigin t => Point (V t) (N t) -> t -> t
- Diagrams.Transform: transform :: Transformable t => Transformation V t N t -> t -> t
+ Diagrams.Transform: transform :: Transformable t => Transformation (V t) (N t) -> t -> t
- Diagrams.Transform.ScaleInv: scaleInvDir :: forall t_aQQ9. Lens' (ScaleInv t_aQQ9) (Vn t_aQQ9)
+ Diagrams.Transform.ScaleInv: scaleInvDir :: forall t_aQ5E. Lens' (ScaleInv t_aQ5E) (Vn t_aQ5E)
- Diagrams.Transform.ScaleInv: scaleInvLoc :: forall t_aQQ9. Lens' (ScaleInv t_aQQ9) (Point (V t_aQQ9) (N t_aQQ9))
+ Diagrams.Transform.ScaleInv: scaleInvLoc :: forall t_aQ5E. Lens' (ScaleInv t_aQ5E) (Point (V t_aQ5E) (N t_aQ5E))
- Diagrams.Transform.ScaleInv: scaleInvObj :: forall t_aQQ9. Lens' (ScaleInv t_aQQ9) t_aQQ9
+ Diagrams.Transform.ScaleInv: scaleInvObj :: forall t_aQ5E. Lens' (ScaleInv t_aQ5E) t_aQ5E
- Diagrams.TwoD: LG :: (LGradient n) -> Texture n
+ Diagrams.TwoD: LG :: LGradient n -> Texture n
- Diagrams.TwoD: OrientTo :: (V2 n) -> PolyOrientation n
+ Diagrams.TwoD: OrientTo :: V2 n -> PolyOrientation n
- Diagrams.TwoD: RG :: (RGradient n) -> Texture n
+ Diagrams.TwoD: RG :: RGradient n -> Texture n
- Diagrams.TwoD: _LG :: forall n_a2iJx. Prism' (Texture n_a2iJx) (LGradient n_a2iJx)
+ Diagrams.TwoD: _LG :: forall n_a2ekc. Prism' (Texture n_a2ekc) (LGradient n_a2ekc)
- Diagrams.TwoD: _RG :: forall n_a2iJx. Prism' (Texture n_a2iJx) (RGradient n_a2iJx)
+ Diagrams.TwoD: _RG :: forall n_a2ekc. Prism' (Texture n_a2ekc) (RGradient n_a2ekc)
- Diagrams.TwoD: _SC :: forall n_a2iJx. Prism' (Texture n_a2iJx) SomeColor
+ Diagrams.TwoD: _SC :: forall n_a2ekc. Prism' (Texture n_a2ekc) SomeColor
- Diagrams.TwoD: _x :: (R1 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.TwoD: _x :: R1 t => Lens' (t a) a
- Diagrams.TwoD: _xy :: (R2 t, Functor f) => (V2 a -> f V2 a) -> t a -> f t a
+ Diagrams.TwoD: _xy :: R2 t => Lens' (t a) (V2 a)
- Diagrams.TwoD: _y :: (R2 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.TwoD: _y :: R2 t => Lens' (t a) a
- Diagrams.TwoD: bg :: (TypeableFloat n, Renderable (Path V2 n) b) => Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any
+ Diagrams.TwoD: bg :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q) => Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q
- Diagrams.TwoD: bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b) => n -> Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any
+ Diagrams.TwoD: bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q) => n -> Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q
- Diagrams.TwoD: class R1 (t :: * -> *)
+ Diagrams.TwoD: class R1 (t :: Type -> Type)
- Diagrams.TwoD: class R1 t => R2 (t :: * -> *)
+ Diagrams.TwoD: class R1 t => R2 (t :: Type -> Type)
- Diagrams.TwoD: data V2 a :: * -> *
+ Diagrams.TwoD: data V2 a
- Diagrams.TwoD: eColor :: forall n_a2LYZ. Lens' (EnvelopeOpts n_a2LYZ) (Colour Double)
+ Diagrams.TwoD: eColor :: forall n_a2CbR. Lens' (EnvelopeOpts n_a2CbR) (Colour Double)
- Diagrams.TwoD: eLineWidth :: forall n_a2LYZ n_a2M1e. Lens (EnvelopeOpts n_a2LYZ) (EnvelopeOpts n_a2M1e) (Measure n_a2LYZ) (Measure n_a2M1e)
+ Diagrams.TwoD: eLineWidth :: forall n_a2CbR n_a2Cek. Lens (EnvelopeOpts n_a2CbR) (EnvelopeOpts n_a2Cek) (Measure n_a2CbR) (Measure n_a2Cek)
- Diagrams.TwoD: ePoints :: forall n_a2LYZ. Lens' (EnvelopeOpts n_a2LYZ) Int
+ Diagrams.TwoD: ePoints :: forall n_a2CbR. Lens' (EnvelopeOpts n_a2CbR) Int
- Diagrams.TwoD: oColor :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) (Colour Double)
+ Diagrams.TwoD: oColor :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) (Colour Double)
- Diagrams.TwoD: oMinSize :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) n_a2LY0
+ Diagrams.TwoD: oMinSize :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) n_a2CaR
- Diagrams.TwoD: oScale :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) n_a2LY0
+ Diagrams.TwoD: oScale :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) n_a2CaR
- Diagrams.TwoD: radiusBL :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD: radiusBL :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD: radiusBR :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD: radiusBR :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD: radiusTL :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD: radiusTL :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD: radiusTR :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD: radiusTR :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD: scalingRotationTo :: (Floating n) => V2 n -> T2 n
+ Diagrams.TwoD: scalingRotationTo :: Floating n => V2 n -> T2 n
- Diagrams.TwoD: tColor :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) (Colour Double)
+ Diagrams.TwoD: tColor :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) (Colour Double)
- Diagrams.TwoD: tMinSize :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) n_a2M1D
+ Diagrams.TwoD: tMinSize :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) n_a2CeJ
- Diagrams.TwoD: tPoints :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) Int
+ Diagrams.TwoD: tPoints :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) Int
- Diagrams.TwoD: tScale :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) n_a2M1D
+ Diagrams.TwoD: tScale :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) n_a2CeJ
- Diagrams.TwoD.Arrowheads: arrowtailBlock :: forall n. (RealFloat n) => Angle n -> ArrowHT n
+ Diagrams.TwoD.Arrowheads: arrowtailBlock :: forall n. RealFloat n => Angle n -> ArrowHT n
- Diagrams.TwoD.Attributes: FillTexture :: (Recommend (Last (Texture n))) -> FillTexture n
+ Diagrams.TwoD.Attributes: FillTexture :: Recommend (Last (Texture n)) -> FillTexture n
- Diagrams.TwoD.Attributes: LG :: (LGradient n) -> Texture n
+ Diagrams.TwoD.Attributes: LG :: LGradient n -> Texture n
- Diagrams.TwoD.Attributes: LineTexture :: (Last (Texture n)) -> LineTexture n
+ Diagrams.TwoD.Attributes: LineTexture :: Last (Texture n) -> LineTexture n
- Diagrams.TwoD.Attributes: RG :: (RGradient n) -> Texture n
+ Diagrams.TwoD.Attributes: RG :: RGradient n -> Texture n
- Diagrams.TwoD.Attributes: _LG :: forall n_a2iJx. Prism' (Texture n_a2iJx) (LGradient n_a2iJx)
+ Diagrams.TwoD.Attributes: _LG :: forall n_a2ekc. Prism' (Texture n_a2ekc) (LGradient n_a2ekc)
- Diagrams.TwoD.Attributes: _RG :: forall n_a2iJx. Prism' (Texture n_a2iJx) (RGradient n_a2iJx)
+ Diagrams.TwoD.Attributes: _RG :: forall n_a2ekc. Prism' (Texture n_a2ekc) (RGradient n_a2ekc)
- Diagrams.TwoD.Attributes: _SC :: forall n_a2iJx. Prism' (Texture n_a2iJx) SomeColor
+ Diagrams.TwoD.Attributes: _SC :: forall n_a2ekc. Prism' (Texture n_a2ekc) SomeColor
- Diagrams.TwoD.Attributes: splitTextureFills :: forall b v n a. (Typeable n) => RTree b v n a -> RTree b v n a
+ Diagrams.TwoD.Attributes: splitTextureFills :: forall b v n a. Typeable n => RTree b v n a -> RTree b v n a
- Diagrams.TwoD.Combinators: bg :: (TypeableFloat n, Renderable (Path V2 n) b) => Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any
+ Diagrams.TwoD.Combinators: bg :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q) => Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q
- Diagrams.TwoD.Combinators: bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b) => n -> Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any
+ Diagrams.TwoD.Combinators: bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q) => n -> Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q
- Diagrams.TwoD.Model: eColor :: forall n_a2LYZ. Lens' (EnvelopeOpts n_a2LYZ) (Colour Double)
+ Diagrams.TwoD.Model: eColor :: forall n_a2CbR. Lens' (EnvelopeOpts n_a2CbR) (Colour Double)
- Diagrams.TwoD.Model: eLineWidth :: forall n_a2LYZ n_a2M1e. Lens (EnvelopeOpts n_a2LYZ) (EnvelopeOpts n_a2M1e) (Measure n_a2LYZ) (Measure n_a2M1e)
+ Diagrams.TwoD.Model: eLineWidth :: forall n_a2CbR n_a2Cek. Lens (EnvelopeOpts n_a2CbR) (EnvelopeOpts n_a2Cek) (Measure n_a2CbR) (Measure n_a2Cek)
- Diagrams.TwoD.Model: ePoints :: forall n_a2LYZ. Lens' (EnvelopeOpts n_a2LYZ) Int
+ Diagrams.TwoD.Model: ePoints :: forall n_a2CbR. Lens' (EnvelopeOpts n_a2CbR) Int
- Diagrams.TwoD.Model: oColor :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) (Colour Double)
+ Diagrams.TwoD.Model: oColor :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) (Colour Double)
- Diagrams.TwoD.Model: oMinSize :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) n_a2LY0
+ Diagrams.TwoD.Model: oMinSize :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) n_a2CaR
- Diagrams.TwoD.Model: oScale :: forall n_a2LY0. Lens' (OriginOpts n_a2LY0) n_a2LY0
+ Diagrams.TwoD.Model: oScale :: forall n_a2CaR. Lens' (OriginOpts n_a2CaR) n_a2CaR
- Diagrams.TwoD.Model: tColor :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) (Colour Double)
+ Diagrams.TwoD.Model: tColor :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) (Colour Double)
- Diagrams.TwoD.Model: tMinSize :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) n_a2M1D
+ Diagrams.TwoD.Model: tMinSize :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) n_a2CeJ
- Diagrams.TwoD.Model: tPoints :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) Int
+ Diagrams.TwoD.Model: tPoints :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) Int
- Diagrams.TwoD.Model: tScale :: forall n_a2M1D. Lens' (TraceOpts n_a2M1D) n_a2M1D
+ Diagrams.TwoD.Model: tScale :: forall n_a2CeJ. Lens' (TraceOpts n_a2CeJ) n_a2CeJ
- Diagrams.TwoD.Polygons: OrientTo :: (V2 n) -> PolyOrientation n
+ Diagrams.TwoD.Polygons: OrientTo :: V2 n -> PolyOrientation n
- Diagrams.TwoD.Shapes: radiusBL :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD.Shapes: radiusBL :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD.Shapes: radiusBR :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD.Shapes: radiusBR :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD.Shapes: radiusTL :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD.Shapes: radiusTL :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD.Shapes: radiusTR :: forall d_a1ZoV. Lens' (RoundedRectOpts d_a1ZoV) d_a1ZoV
+ Diagrams.TwoD.Shapes: radiusTR :: forall d_a1WXI. Lens' (RoundedRectOpts d_a1WXI) d_a1WXI
- Diagrams.TwoD.Text: Font :: (Last String) -> Font
+ Diagrams.TwoD.Text: Font :: Last String -> Font
- Diagrams.TwoD.Text: FontSize :: (Recommend (Last n)) -> FontSize n
+ Diagrams.TwoD.Text: FontSize :: Recommend (Last n) -> FontSize n
- Diagrams.TwoD.Text: Text :: (T2 n) -> (TextAlignment n) -> String -> Text n
+ Diagrams.TwoD.Text: Text :: T2 n -> TextAlignment n -> String -> Text n
- Diagrams.TwoD.Text: _fontSizeU :: (Typeable n) => Lens' (Style v n) (Maybe n)
+ Diagrams.TwoD.Text: _fontSizeU :: Typeable n => Lens' (Style v n) (Maybe n)
- Diagrams.TwoD.Transform: scalingRotationTo :: (Floating n) => V2 n -> T2 n
+ Diagrams.TwoD.Transform: scalingRotationTo :: Floating n => V2 n -> T2 n
- Diagrams.TwoD.Types: _x :: (R1 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.TwoD.Types: _x :: R1 t => Lens' (t a) a
- Diagrams.TwoD.Types: _xy :: (R2 t, Functor f) => (V2 a -> f V2 a) -> t a -> f t a
+ Diagrams.TwoD.Types: _xy :: R2 t => Lens' (t a) (V2 a)
- Diagrams.TwoD.Types: _y :: (R2 t, Functor f) => (a -> f a) -> t a -> f t a
+ Diagrams.TwoD.Types: _y :: R2 t => Lens' (t a) a
- Diagrams.TwoD.Types: class R1 (t :: * -> *)
+ Diagrams.TwoD.Types: class R1 (t :: Type -> Type)
- Diagrams.TwoD.Types: class R1 t => R2 (t :: * -> *)
+ Diagrams.TwoD.Types: class R1 t => R2 (t :: Type -> Type)
- Diagrams.TwoD.Types: data V2 a :: * -> *
+ Diagrams.TwoD.Types: data V2 a

Files

CHANGELOG.md view
@@ -1,4 +1,19 @@-## [v1.4.2.3](https://github.com/diagrams/diagrams-lib/tree/v1.4.2.2) (2018-06-11)+## [v1.4.3](https://github.com/diagrams/diagrams-lib/tree/v1.4.3) (2019-11-06)++- Bumps to upper bounds, to allow building with:+    - `base-4.13` (tested with GHC 8.8.1)+    - `intervals-0.9`+    - `semigroups-0.19`+    - `hashable-1.3`+- Many bug fixes, including+    - [#313](https://github.com/diagrams/diagrams-lib/issues/313) (`combineBoundaries`)+    - [#322](https://github.com/diagrams/diagrams-lib/issues/322), [#329](https://github.com/diagrams/diagrams-lib/issues/329) (`section`)+    - [#325](https://github.com/diagrams/diagrams-lib/pull/325)+      (Bezier/Bezier intersection)+    - [#339](https://github.com/diagrams/diagrams-lib/pull/339) (`perspectiveZ1`)+- Added derived `Eq` and `Ord` instances for `FixedSegment`++## [v1.4.2.3](https://github.com/diagrams/diagrams-lib/tree/v1.4.2.3) (2018-06-11)  - Bug fix for `extrudeEnvelope` and friends ([#316](https://github.com/diagrams/diagrams-lib/issues/316)) 
diagrams-lib.cabal view
@@ -1,5 +1,5 @@ Name:                diagrams-lib-Version:             1.4.2.3+Version:             1.4.3 Synopsis:            Embedded domain-specific language for declarative graphics Description:         Diagrams is a flexible, extensible EDSL for creating                      graphics of many types.  Graphics can be created@@ -9,8 +9,8 @@                      creating diagrams.  To get started using it, see                      the "Diagrams" module, and refer to the tutorials and                      documentation on the diagrams website,-                     <http://projects.haskell.org/diagrams>.-Homepage:            http://projects.haskell.org/diagrams+                     <http://diagrams.github.io>.+Homepage:            http://diagrams.github.io License:             BSD3 License-file:        LICENSE Author:              Brent Yorgey@@ -21,7 +21,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.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2+Tested-with:         GHC ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.3 || ==8.6.5 || ==8.8.1 Source-repository head   type:     git   location: http://github.com/diagrams/diagrams-lib.git@@ -100,10 +100,10 @@                        Diagrams.TwoD.Types,                        Diagrams.TwoD.Vector,                        Diagrams.Util-  Build-depends:       base >= 4.6 && < 4.12,-                       containers >= 0.3 && < 0.6,+  Build-depends:       base >= 4.8 && < 4.14,+                       containers >= 0.3 && < 0.7,                        array >= 0.3 && < 0.6,-                       semigroups >= 0.3.4 && < 0.19,+                       semigroups >= 0.3.4 && < 0.20,                        monoid-extras >= 0.3 && < 0.6,                        dual-tree >= 0.2 && < 0.3,                        diagrams-core >= 1.4 && < 1.5,@@ -112,13 +112,13 @@                        colour >= 2.3.2 && < 2.4,                        data-default-class < 0.2,                        fingertree >= 0.1 && < 0.2,-                       intervals >= 0.7 && < 0.9,-                       lens >= 4.6 && < 4.17,+                       intervals >= 0.7 && < 0.10,+                       lens >= 4.6 && < 4.19,                        tagged >= 0.7,-                       optparse-applicative >= 0.11 && < 0.15,+                       optparse-applicative >= 0.11 && < 0.16,                        filepath,-                       JuicyPixels >= 3.1.5 && < 3.3,-                       hashable >= 1.1 && < 1.3,+                       JuicyPixels >= 3.3.4 && < 3.4,+                       hashable >= 1.1 && < 1.4,                        linear >= 1.20.1 && < 1.21,                        adjunctions >= 4.0 && < 5.0,                        distributive >=0.2.2 && < 1.0,@@ -135,6 +135,8 @@                        bytestring >=0.9 && <0.11   if impl(ghc < 7.6)     Build-depends: ghc-prim+  if !impl(ghc >= 8.0)+    build-depends: fail >= 4.9.0.0 && <4.10   Hs-source-dirs:      src   ghc-options: -Wall   default-language:    Haskell2010@@ -153,14 +155,16 @@                , Diagrams.Test.Transform                , Diagrams.Test.Transform.Matrix                , Diagrams.Test.TwoD.Offset+               , Diagrams.Test.TwoD.Segment                , Diagrams.Test.TwoD                , Diagrams.Test.Angle                , Instances   hs-source-dirs: test   build-depends:       base,-                       tasty >= 0.10 && < 1.2,+                       tasty >= 0.10 && < 1.3,                        tasty-hunit >= 0.9.2 && < 0.11,                        tasty-quickcheck >= 0.8 && < 0.11,+                       QuickCheck >= 2.7,                        deepseq >= 1.3 && < 1.5,                        diagrams-lib,                        lens,
src/Diagrams/Align.hs view
@@ -95,7 +95,7 @@   :: (InSpace v n a, Metric v, Ord n, F.Foldable f)   => (v n -> a -> Point v n) -> v n -> f a -> Point v n combineBoundaries b v fa-    = b v $ F.maximumBy (comparing (quadrance . (.-. origin) . b v)) fa+  = b v $ F.maximumBy (comparing (dot v . (.-.origin) . b v)) fa  instance (Metric v, OrderedField n) => Alignable (Envelope v n) where   defaultBoundary = envelopeBoundary
src/Diagrams/Animation.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                   #-}+{-# LANGUAGE ConstraintKinds       #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies          #-}@@ -32,10 +31,6 @@        ) where  import           Data.Active-#if __GLASGOW_HASKELL__ < 710-import           Control.Applicative       ((<$>))-import           Data.Foldable             (foldMap)-#endif import           Data.Semigroup  import           Diagrams.Core
src/Diagrams/Animation/Active.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP          #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-orphans #-} @@ -37,10 +36,6 @@ -----------------------------------------------------------------------------  module Diagrams.Animation.Active where--#if __GLASGOW_HASKELL__ < 710-import           Control.Applicative (pure, (<$>))-#endif  import           Diagrams.Core import           Diagrams.TrailLike
src/Diagrams/Attributes.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveFunctor              #-} {-# LANGUAGE ExistentialQuantification  #-}@@ -88,9 +87,6 @@    ) where -#if __GLASGOW_HASKELL__ < 710-import           Control.Applicative-#endif import           Control.Lens          hiding (none, over) import           Data.Colour import           Data.Colour.RGBSpace  (RGB (..))
src/Diagrams/Attributes/Compile.hs view
@@ -2,6 +2,10 @@ {-# LANGUAGE GADTs               #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies        #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+  -- for Data.Semigroup+ ----------------------------------------------------------------------------- -- | -- Module      :  Diagrams.Attributes.Compile@@ -22,7 +26,7 @@ import           Control.Arrow       (second) import           Control.Lens        ((%~), (&), _Wrapping') import qualified Data.HashMap.Strict as HM-import           Data.Semigroup      ((<>))+import           Data.Semigroup import           Data.Tree           (Tree (..))  import           Diagrams.Core
src/Diagrams/Backend/CmdLine.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE ConstrainedClassMethods     #-}+{-# LANGUAGE CPP                       #-}+{-# LANGUAGE ConstrainedClassMethods   #-} {-# LANGUAGE DeriveDataTypeable        #-} {-# LANGUAGE FlexibleContexts          #-} {-# LANGUAGE FlexibleInstances         #-}@@ -84,12 +85,18 @@  import           Control.Monad             (forM_, forever, unless, when) +-- MonadFail comes from Prelude in base-4.13 and up+#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail        (MonadFail)+#endif+ import           Data.Active               hiding (interval) import           Data.Char                 (isDigit) import           Data.Colour import           Data.Colour.Names import           Data.Colour.SRGB import           Data.Data+import           Data.Functor.Identity import           Data.IORef import           Data.List                 (delete) import           Data.Maybe                (fromMaybe)@@ -303,7 +310,7 @@ --   example, @\"0xfc4\"@ is the same as @\"0xffcc44\"@.  When eight or six --   digits are given each pair of digits is a color or alpha channel with the --   order being red, green, blue, alpha.-readHexColor :: (Applicative m, Monad m) => String -> m (AlphaColour Double)+readHexColor :: (Applicative m, MonadFail m) => String -> m (AlphaColour Double) readHexColor cs = case cs of   ('0':'x':hs) -> handle hs   ('#':hs)     -> handle hs@@ -429,10 +436,7 @@   -- value or ending the program with an error or help message.   -- Typically the default instance will work.  If a different help message   -- or parsing behavior is desired a new implementation is appropriate.-  ---  -- Note the @d@ argument should only be needed to fix the type @d@.  Its-  -- value should not be relied on as a parameter.-  mainArgs :: Parseable (MainOpts d) => d -> IO (MainOpts d)+  mainArgs :: Parseable (MainOpts d) => proxy d -> IO (MainOpts d)   mainArgs _ = defaultOpts parser    -- | Backend specific work of rendering with the given options and mainable@@ -457,7 +461,7 @@   -- implementation should be used to handle more complex interactions with the user.   mainWith :: Parseable (MainOpts d) => d -> IO ()   mainWith d = do-    opts <- mainArgs d+    opts <- mainArgs (Identity d)     mainRender opts d  -- | This instance allows functions resulting in something that is 'Mainable' to
src/Diagrams/Located.hs view
@@ -1,11 +1,10 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                   #-}+{-# LANGUAGE ConstraintKinds       #-}+{-# LANGUAGE DeriveGeneric         #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE StandaloneDeriving    #-} {-# LANGUAGE TypeFamilies          #-} {-# LANGUAGE UndecidableInstances  #-}-{-# LANGUAGE DeriveGeneric         #-} ----------------------------------------------------------------------------- -- | -- Module      :  Diagrams.Located@@ -28,9 +27,6 @@     where  import           Control.Lens            (Lens, Lens')-#if __GLASGOW_HASKELL__ < 710-import           Data.Functor            ((<$>))-#endif import           Text.Read  import           Linear.Affine@@ -41,8 +37,8 @@ import           Diagrams.Core.Transform import           Diagrams.Parametric -import           GHC.Generics (Generic)-import           Data.Serialize (Serialize)+import           Data.Serialize          (Serialize)+import           GHC.Generics            (Generic)  -- | \"Located\" things, /i.e./ things with a concrete location: --   intuitively, @Located a ~ (Point, a)@.  Wrapping a translationally@@ -174,6 +170,8 @@     => Sectionable (Located a) where   splitAtParam (Loc x a) p = (Loc x a1, Loc (x .+^ (a `atParam` p)) a2)     where (a1,a2) = splitAtParam a p++  section (Loc x a) p1 p2 = Loc (x .+^ (a `atParam` p1)) (section a p1 p2)    reverseDomain (Loc x a) = Loc (x .+^ y) (reverseDomain a)     where y = a `atParam` domainUpper a
src/Diagrams/Path.hs view
@@ -1,8 +1,6 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}-#if __GLASGOW_HASKELL__ >= 707+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-}-#endif+{-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleContexts           #-} {-# LANGUAGE FlexibleInstances          #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}@@ -12,7 +10,6 @@ {-# LANGUAGE TypeFamilies               #-} {-# LANGUAGE UndecidableInstances       #-} {-# LANGUAGE ViewPatterns               #-}-{-# LANGUAGE DeriveGeneric              #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}   -- for Data.Semigroup@@ -68,10 +65,10 @@         ) where -import           Control.Arrow        ((***))-import           Control.Lens         hiding ((#), transform, at)-import qualified Data.Foldable        as F-import           Data.List            (partition)+import           Control.Arrow      ((***))+import           Control.Lens       hiding (at, transform, ( # ))+import qualified Data.Foldable      as F+import           Data.List          (partition) import           Data.Semigroup import           Data.Typeable @@ -87,8 +84,8 @@ import           Linear.Metric import           Linear.Vector -import           GHC.Generics (Generic)-import           Data.Serialize (Serialize)+import           Data.Serialize     (Serialize)+import           GHC.Generics       (Generic)  ------------------------------------------------------------ --  Paths  -------------------------------------------------@@ -100,26 +97,12 @@ --   top of another) rather than concatenation. newtype Path v n = Path [Located (Trail v n)]   deriving (Semigroup, Monoid, Generic-#if __GLASGOW_HASKELL__ >= 707   , Typeable-#endif   )  -- instance (OrderedField n, Metric v, Serialize (v n), Serialize (V n (N n))) => instance (OrderedField n, Metric v, Serialize (v n), Serialize (V (v n) (N (v n)))) =>   Serialize (Path v n)--#if __GLASGOW_HASKELL__ < 707--- This should really be Typeable2 Path but since Path has kind---   (* -> *) -> * -> *--- not---   * -> * -> *--- we can only do Typeable1 (Path v). This is why the instance cannot be--- derived.-instance forall v. Typeable1 v => Typeable1 (Path v) where-  typeOf1 _ = mkTyConApp (mkTyCon3 "diagrams-lib" "Diagrams.Path" "Path") [] `mkAppTy`-              typeOf1 (undefined :: v n)-#endif  instance Wrapped (Path v n) where   type Unwrapped (Path v n) = [Located (Trail v n)]
src/Diagrams/Segment.hs view
@@ -371,7 +371,7 @@ --   the absolute locations of the vertices and control points. data FixedSegment v n = FLinear (Point v n) (Point v n)                       | FCubic (Point v n) (Point v n) (Point v n) (Point v n)-  deriving Show+  deriving (Eq, Ord, Show)  type instance V (FixedSegment v n) = v type instance N (FixedSegment v n) = n
src/Diagrams/Size.hs view
@@ -1,8 +1,5 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}-#if __GLASGOW_HASKELL__ >= 707+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-}-#endif {-# LANGUAGE DeriveFunctor              #-} {-# LANGUAGE DeriveGeneric              #-} {-# LANGUAGE FlexibleContexts           #-}@@ -46,18 +43,18 @@   ) where  import           Control.Applicative-import           Control.Lens        hiding (transform)+import           Control.Lens         hiding (transform) import           Control.Monad-import           Data.Foldable       as F+import           Data.Foldable        as F import           Data.Hashable-import           Data.Semigroup import           Data.Maybe+import           Data.Semigroup import           Data.Typeable-import           GHC.Generics        (Generic)+import           GHC.Generics         (Generic) import           Prelude -import           Diagrams.Core import           Diagrams.BoundingBox+import           Diagrams.Core  import           Linear.Affine import           Linear.Vector@@ -70,19 +67,11 @@ --   the dimensions. newtype SizeSpec v n = SizeSpec (v n)   deriving (-#if __GLASGOW_HASKELL__ >= 707   Typeable,-#endif   Functor,   Generic,   Hashable,   Show)--#if __GLASGOW_HASKELL__ < 707-instance forall v. Typeable1 v => Typeable1 (SizeSpec v) where-  typeOf1 _ = mkTyConApp (mkTyCon3 "diagrams-lib" "Diagrams.Size" "Size") [] `mkAppTy`-              typeOf1 (undefined :: v n)-#endif  type instance V (SizeSpec v n) = v type instance N (SizeSpec v n) = n
src/Diagrams/ThreeD/Camera.hs view
@@ -1,10 +1,9 @@-{-# LANGUAGE CPP                   #-} {-# LANGUAGE DeriveDataTypeable    #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE TemplateHaskell       #-} {-# LANGUAGE TypeFamilies          #-}-{-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE UndecidableInstances  #-}  -----------------------------------------------------------------------------@@ -50,23 +49,12 @@     , up      :: V3 n     , lens    :: l n     }-#if __GLASGOW_HASKELL__ >= 707   deriving Typeable-#else -instance forall l. Typeable1 l => Typeable1 (Camera l) where-  typeOf1 _ = mkTyConApp (mkTyCon3 "diagrams-lib" "Diagrams.ThreeD.Camera" "Camera") [] `mkAppTy`-              typeOf1 (undefined :: l n)-#endif- type instance V (Camera l n) = V3 type instance N (Camera l n) = n -#if __GLASGOW_HASKELL__ > 707 class Typeable l => CameraLens l where-#else-class Typeable1 l => CameraLens l where-#endif   -- | The natural aspect ratio of the projection.   aspect :: Floating n => l n -> n 
src/Diagrams/ThreeD/Deform.hs view
@@ -19,7 +19,7 @@ -- | The perspective division onto the plane z=1 along lines going --   through the origin. perspectiveZ1 :: (R3 v, Functor v, Fractional n) => Deformation v v n-perspectiveZ1 = Deformation $ \p -> p ^/ (p ^. _x)+perspectiveZ1 = Deformation $ \p -> p ^/ (p ^. _z)  facingZ :: (R3 v, Functor v, Fractional n) => Deformation v v n facingZ = Deformation $
src/Diagrams/ThreeD/Shapes.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                   #-}+{-# LANGUAGE ConstraintKinds       #-} {-# LANGUAGE DeriveDataTypeable    #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -41,10 +40,6 @@   , difference   ) where -#if __GLASGOW_HASKELL__ < 710-import           Control.Applicative-import           Data.Foldable             (foldMap)-#endif import           Control.Lens              (review, (^.), _1) import           Data.Typeable @@ -255,11 +250,11 @@ -- | The Envelope for an Intersection or Difference is simply the -- Envelope of the Union.  This is wrong but easy to implement. instance RealFloat n => Enveloped (CSG n) where-  getEnvelope (CsgEllipsoid p) = getEnvelope p-  getEnvelope (CsgBox p) = getEnvelope p-  getEnvelope (CsgFrustum p) = getEnvelope p-  getEnvelope (CsgUnion ps) = foldMap getEnvelope ps-  getEnvelope (CsgIntersection ps) = foldMap getEnvelope ps+  getEnvelope (CsgEllipsoid p)      = getEnvelope p+  getEnvelope (CsgBox p)            = getEnvelope p+  getEnvelope (CsgFrustum p)        = getEnvelope p+  getEnvelope (CsgUnion ps)         = foldMap getEnvelope ps+  getEnvelope (CsgIntersection ps)  = foldMap getEnvelope ps   getEnvelope (CsgDifference p1 p2) = getEnvelope p1 <> getEnvelope p2 -- TODO after implementing some approximation scheme, calculate -- correct (approximate) envelopes for intersections and difference.
src/Diagrams/Trail.hs view
@@ -112,7 +112,7 @@ import           Control.Arrow            ((***)) import           Control.Lens             hiding (at, transform, (<|), (|>)) import           Data.FingerTree          (FingerTree, ViewL (..), ViewR (..),-                                           (<|), (|>))+                                           viewl, (<|), (|>)) import qualified Data.FingerTree          as FT import           Data.Fixed import qualified Data.Foldable            as F@@ -221,60 +221,46 @@ instance (Metric v, OrderedField n, Real n)     => EndValues (SegTree v n) -type SplitResult v n = ((SegTree v n, n -> n), (SegTree v n, n -> n))--splitAtParam' :: (Metric v, OrderedField n, Real n) => SegTree v n -> n -> SplitResult v n-splitAtParam' tree@(SegTree t) p-  | p < 0     =-    case FT.viewl t of-      EmptyL    -> emptySplit-      seg FT.:< t' ->-        case seg `splitAtParam` (p * tSegs) of-          (seg1, seg2) ->-            ( (SegTree $ FT.singleton seg1, (*p))-            , (SegTree $ seg2 <| t', \u -> 1 - (1 - u) * tSegs / (tSegs + 1))-            )-  | p >= 1    =-    case FT.viewr t of-      EmptyR    -> emptySplit-      t' FT.:> seg ->-        case seg `splitAtParam` (1 - (1 - p)*tSegs) of-          (seg1, seg2) ->-            ( (SegTree $ t' |> seg1, \u -> u * tSegs / (tSegs + 1))-            , (SegTree $ FT.singleton seg2, \u -> (u - p) / (1 - p))-            )-  | otherwise =-    case FT.viewl after of-      EmptyL    -> emptySplit-      seg FT.:< after' ->-        let (n, p') = propFrac $ p * tSegs-            f p n u | u * tSegs < n = u * tSegs / (n + 1)-                    | otherwise     = (n + (u * tSegs - n) / (p * tSegs - n)) / (n+1)-        in case seg `splitAtParam` p' of-             (seg1, seg2) ->-               ( ( SegTree $ before |> seg1  , f p n )-               , ( SegTree $ seg2   <| after'-               , \v -> 1 - f (1 - p) (tSegs - n - 1) (1 - v)-                 )-               )- where-   (before, after) = FT.split ((p * tSegs <) . numSegs) t-   tSegs           = numSegs t-   emptySplit      = let t' = (tree, id) in (t',t')--   propFrac x = let m = signum x * mod1 x in (x - m, m)+splitAtParam' :: (Metric v, OrderedField n, Real n)+              => SegTree v n -> n -> ((SegTree v n, SegTree v n), n -> n)+splitAtParam' (SegTree t) p+  | tSegs == 0 = ((mempty       , mempty       ), id)+  | otherwise  = ((SegTree treeL, SegTree treeR), rescale)+  where+    tSegs  = numSegs t+    splitParam q | q <  0    = (0        , q           * tSegs)+                 | q >= 1    = (tSegs - 1, 1 + (q - 1) * tSegs)+                 | otherwise = propFrac $  q           * tSegs+      where propFrac x = let m = mod1 x in (x - m, m)+    (pSegs, pParam) = splitParam p+    (before, viewl -> seg FT.:< after) = FT.split ((pSegs <) . numSegs) t+    (segL, segR) = seg `splitAtParam` pParam+    (treeL, treeR) | pParam == 0 = (before        , seg  <| after)+                   | pParam == 1 = (before |> seg ,         after)+                   | otherwise   = (before |> segL, segR <| after)+    -- section uses rescale to find the new value of p1 after the split at p2+    rescale u | pSegs' == uSegs = (uSegs + uParam / pParam' {-'1-}) / (pSegs' + 1) {-'2-}+              | otherwise       = u * tSegs / (pSegs' + 1) {-'3-}+      where+        -- param 0 on a segment is param 1 on the previous segment+        (pSegs', pParam') | pParam == 0 = (pSegs-1, 1)+                          | otherwise   = (pSegs  , pParam)+        (uSegs , uParam ) = splitParam u+        -- '1 (pParam ≠ 0 → pParam' = pParam) ∧ (pParam = 0 → pParam' = 1) → pParam' ≠ 0+        -- '2 uSegs ≥ 0 ∧ pSegs' = uSegs → pSegs' ≥ 0 → pSegs' + 1 > 0+        -- '3 pSegs' + 1 = 0 → pSegs' = -1 → pSegs = 0 ∧ pParam = 0 → p = 0+        --    → rescale is not called  instance (Metric v, OrderedField n, Real n) => Sectionable (SegTree v n) where-  splitAtParam tree p = let ((a,_),(b,_)) = splitAtParam' tree p in (a,b)+  splitAtParam tree p = fst $ splitAtParam' tree p    reverseDomain (SegTree t) = SegTree $ FT.reverse t'     where t' = FT.fmap' reverseSegment t -  section x t1 t2 = let ((a,fa),_) = splitAtParam' x t2-                    in  snd $ splitAtParam a (fa t1)--  -- XXX seems like it should be possible to collapse some of the-  -- above cases into one?+  section x p1 p2 | p2 == 0   = reverseDomain . fst $ splitAtParam x p1+                  | p1 <= p2  = let ((a, _), rescale) = splitAtParam' x p2+                                in  snd $ splitAtParam a (rescale p1)+                  | otherwise = reverseDomain $ section x p2 p1  instance (Metric v, OrderedField n, Real n)     => HasArcLength (SegTree v n) where@@ -520,6 +506,8 @@     where       (t1, t2) = splitAtParam t p +  section (Line t) p1 p2 = Line (section t p1 p2)+   reverseDomain = reverseLine  instance (Metric v, OrderedField n, Real n)@@ -767,6 +755,8 @@ --   'cutLoop' yourself.) instance (Metric v, OrderedField n, Real n) => Sectionable (Trail v n) where   splitAtParam t p = withLine ((wrapLine *** wrapLine) . (`splitAtParam` p)) t++  section t p1 p2 = withLine (wrapLine . (\l -> section l p1 p2)) t    reverseDomain = reverseTrail 
src/Diagrams/Transform/Matrix.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP             #-} {-# LANGUAGE MonoLocalBinds  #-} {-# LANGUAGE TypeFamilies    #-} 
src/Diagrams/Transform/ScaleInv.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE CPP                        #-} {-# LANGUAGE ConstraintKinds       #-} {-# LANGUAGE DeriveDataTypeable    #-} {-# LANGUAGE FlexibleContexts      #-}@@ -27,9 +26,6 @@     where  import           Control.Lens            (makeLenses, view, (^.))-#if __GLASGOW_HASKELL__ < 710-import           Data.Semigroup-#endif import           Data.Typeable  import           Diagrams.Angle
src/Diagrams/TwoD.hs view
@@ -240,7 +240,7 @@         , extrudeLeft, extrudeRight, extrudeBottom, extrudeTop -       , rectEnvelope+       , rectEnvelope, crop           -- ** Background 
src/Diagrams/TwoD/Arc.hs view
@@ -1,7 +1,11 @@-{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE ConstraintKinds  #-} {-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE ViewPatterns     #-} {-# LANGUAGE TypeFamilies     #-}+{-# LANGUAGE ViewPatterns     #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+  -- for Data.Semigroup+ ----------------------------------------------------------------------------- -- | -- Module      :  Diagrams.TwoD.Arc@@ -37,11 +41,11 @@ import           Diagrams.TrailLike import           Diagrams.TwoD.Transform import           Diagrams.TwoD.Types-import           Diagrams.TwoD.Vector    (unitX, unitY, unit_Y, e)+import           Diagrams.TwoD.Vector    (e, unitX, unitY, unit_Y) import           Diagrams.Util           (( # ))  import           Control.Lens            ((&), (<>~), (^.))-import           Data.Semigroup          ((<>))+import           Data.Semigroup  import           Linear.Affine import           Linear.Metric
src/Diagrams/TwoD/Arrow.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE FlexibleContexts           #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}@@ -105,9 +104,6 @@        , module Diagrams.TwoD.Arrowheads        ) where -#if __GLASGOW_HASKELL__ < 710-import           Control.Applicative       ((<$>), (<*>))-#endif import           Control.Lens              (Lens', Traversal',                                             generateSignatures, lensRules,                                             makeLensesWith, view, (%~), (&),
src/Diagrams/TwoD/Attributes.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveFunctor              #-} {-# LANGUAGE FlexibleContexts           #-}@@ -11,7 +10,6 @@ {-# LANGUAGE TemplateHaskell            #-} {-# LANGUAGE TypeFamilies               #-} {-# LANGUAGE UndecidableInstances       #-}-{-# LANGUAGE ViewPatterns               #-}  ----------------------------------------------------------------------------- -- |
src/Diagrams/TwoD/Combinators.hs view
@@ -1,8 +1,12 @@-{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE ConstraintKinds       #-} {-# LANGUAGE FlexibleContexts      #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables   #-} {-# LANGUAGE TypeFamilies          #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+  -- for Data.Semigroup+ ----------------------------------------------------------------------------- -- | -- Module      :  Diagrams.TwoD.Combinators@@ -32,7 +36,7 @@      , extrudeLeft, extrudeRight, extrudeBottom, extrudeTop -    , rectEnvelope+    , rectEnvelope, crop      , boundingRect, bg, bgFrame @@ -49,6 +53,7 @@ import           Diagrams.BoundingBox import           Diagrams.Combinators import           Diagrams.Path+import           Diagrams.Query           (value) import           Diagrams.Segment import           Diagrams.TrailLike import           Diagrams.TwoD.Align@@ -245,6 +250,11 @@      => Point V2 n -> V2 n -> QDiagram b V2 n m -> QDiagram b V2 n m rectEnvelope p (V2 w h) = withEnvelope (rect w h # alignBL # moveTo p :: Path V2 n) +-- | A synonym for 'rectEnvelope'.+crop :: forall b n m. (OrderedField n, Monoid' m)+     => Point V2 n -> V2 n -> QDiagram b V2 n m -> QDiagram b V2 n m+crop = rectEnvelope+ -- | Construct a bounding rectangle for an enveloped object, that is, --   the smallest axis-aligned rectangle which encloses the object. boundingRect :: ( InSpace V2 n a, SameSpace a t@@ -255,12 +265,15 @@  -- | \"Set the background color\" of a diagram.  That is, place a --   diagram atop a bounding rectangle of the given color.-bg :: (TypeableFloat n, Renderable (Path V2 n) b) => Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any-bg c d = d <> boundingRect d # lwO 0 # fc c+--   The background does not change the result of queries.+bg :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q)+    => Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q+bg c d = d <> boundingRect d # lwO 0 # fc c # value mempty  -- | Similar to 'bg' but makes the colored background rectangle larger than --   the diagram. The first parameter is used to set how far the background --   extends beyond the diagram.-bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b)-    => n -> Colour Double -> QDiagram b V2 n Any -> QDiagram b V2 n Any-bgFrame f c d = d <> boundingRect (frame f d) # lwO 0 # fc c+--   The background does not change the result of queries.+bgFrame :: (TypeableFloat n, Renderable (Path V2 n) b, Monoid' q)+    => n -> Colour Double -> QDiagram b V2 n q -> QDiagram b V2 n q+bgFrame f c d = d <> boundingRect (frame f d) # lwO 0 # fc c # value mempty
src/Diagrams/TwoD/Image.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE ConstraintKinds       #-} {-# LANGUAGE DeriveDataTypeable    #-} {-# LANGUAGE EmptyDataDecls        #-} {-# LANGUAGE FlexibleContexts      #-}@@ -36,7 +36,6 @@     ) where  import           Codec.Picture-import           Codec.Picture.Types  (dynamicMap)  import           Data.Colour          (AlphaColour) import           Data.Semigroup@@ -45,10 +44,10 @@ import           Diagrams.Core  import           Diagrams.Attributes  (colorToSRGBA)-import           Diagrams.TwoD.Path   (isInsideEvenOdd) import           Diagrams.Path        (Path)+import           Diagrams.Query+import           Diagrams.TwoD.Path   (isInsideEvenOdd) import           Diagrams.TwoD.Shapes (rect)-import Diagrams.Query import           Diagrams.TwoD.Types  import           Data.ByteString
src/Diagrams/TwoD/Polygons.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP       #-}+{-# LANGUAGE ConstraintKinds     #-} {-# LANGUAGE DeriveFunctor       #-} {-# LANGUAGE FlexibleContexts    #-} {-# LANGUAGE ScopedTypeVariables #-}@@ -47,30 +46,27 @@      ) where -import           Control.Lens            (Lens', generateSignatures, lensRules,-                                          makeLensesWith, view, (.~), (^.))-import           Control.Monad           (forM, liftM)-import           Control.Monad.ST        (ST, runST)-import           Data.Array.ST           (STUArray, newArray, readArray,-                                          writeArray)+import           Control.Lens         (Lens', generateSignatures, lensRules,+                                       makeLensesWith, view, (.~), (^.))+import           Control.Monad        (forM, liftM)+import           Control.Monad.ST     (ST, runST)+import           Data.Array.ST        (STUArray, newArray, readArray,+                                       writeArray) import           Data.Default.Class-import           Data.List               (maximumBy, minimumBy)-import           Data.Maybe              (catMaybes)-#if __GLASGOW_HASKELL__ < 710-import           Data.Monoid             (mconcat, mempty)-#endif-import           Data.Ord                (comparing)+import           Data.List            (maximumBy, minimumBy)+import           Data.Maybe           (catMaybes)+import           Data.Ord             (comparing)  import           Diagrams.Angle import           Diagrams.Core import           Diagrams.Located import           Diagrams.Path-import           Diagrams.Points         (centroid)+import           Diagrams.Points      (centroid) import           Diagrams.Trail import           Diagrams.TrailLike import           Diagrams.TwoD.Types-import           Diagrams.TwoD.Vector    (leftTurn, unitX, unitY, unit_Y)-import           Diagrams.Util           (tau, ( # ))+import           Diagrams.TwoD.Vector (leftTurn, unitX, unitY, unit_Y)+import           Diagrams.Util        (tau, ( # ))  import           Linear.Affine import           Linear.Metric@@ -174,10 +170,10 @@             PolySides ans szs -> polySidesTrail ans szs             PolyRegular n r   -> polyRegularTrail n r         ori = case po^.polyOrient of-            OrientH      -> orient unit_Y tr-            OrientV      -> orient unitX  tr-            OrientTo v   -> orient v      tr-            NoOrient     -> mempty+            OrientH    -> orient unit_Y tr+            OrientV    -> orient unitX  tr+            OrientTo v -> orient v      tr+            NoOrient   -> mempty  -- | Generate the polygon described by the given options. polygon :: (InSpace V2 n t, TrailLike t) => PolygonOpts n -> t
src/Diagrams/TwoD/Segment.hs view
@@ -169,6 +169,14 @@   go p q tmin tmax umin umax clip revCurves     | isNothing chopInterval = [] +    -- This check happens before the subdivision+    -- test to avoid non-termination as values+    -- transition to within epsilon.+    | max (umax - umin) (tmax' - tmin') < eps =+      if revCurves -- return parameters in correct order+      then [ (avg umin  umax,  avg tmin' tmax') ]+      else [ (avg tmin' tmax', avg umin  umax ) ]+     -- split the curve if there isn't enough reduction     | clip > 0.8 && clip' > 0.8 =       if tmax' - tmin' > umax - umin -- split the longest segment@@ -181,11 +189,6 @@            in  go ql p' umin umid tmin' tmax' clip' (not revCurves) ++                go qr p' umid umax tmin' tmax' clip' (not revCurves) -    | max (umax - umin) (tmax' - tmin') < eps =-      if revCurves -- return parameters in correct order-      then [ (avg umin  umax,  avg tmin' tmax') ]-      else [ (avg tmin' tmax', avg umin  umax ) ]-     -- iterate with the curves reversed.     | otherwise = go q p' umin umax tmin' tmax' clip' (not revCurves)     where@@ -281,11 +284,21 @@         | otherwise = continue        testAbove (p1@(P (V2 _ y1)) : p2@(P (V2 _ y2)) : ps)-        | y1 < y2   = Nothing-        | y2 > dmax = testAbove (p2:ps)-        | otherwise = Just $ intersectPt dmax p1 p2-      testAbove _   = Nothing+        | y1 < y2      = Nothing+        | y2 > dmax    = testAbove (p2:ps)+        | y2 - y1 == 0 = Nothing  -- Check this condition to prevent+                                  -- division by zero in `intersectPt`.+        | otherwise    = Just $ intersectPt dmax p1 p2+      testAbove _      = Nothing +      -- find the x value where the line through the two points+      -- intersect the line y=d.  Note that `y2 - y1 != 0` due+      -- to checks above.+      intersectPt d (P (V2 x1 y1)) (P (V2 x2 y2)) =+          x1 + (d - y1) * (x2 - x1) / (y2 - y1)+++ bezierToBernstein :: Fractional n => FixedSegment V2 n -> (BernsteinPoly n, BernsteinPoly n) bezierToBernstein seg =     (listToBernstein $ map (view _x) coeffs, listToBernstein $ map (view _y) coeffs)@@ -297,28 +310,30 @@  -- Could split this into a separate module. --- | Returns @(a, b, c)@ such that @ax + by + c = 0@ is the line going through---   @p1@ and @p2@ with @a^2 + b^2 = 1@.-lineEquation :: Floating n => P2 n -> P2 n -> (n, n, n)-lineEquation (P (V2 x1 y1)) (P (V2 x2 y2)) = (a, b, c)+-- | Returns @(a, b, c, d)@ such that @ax + by + c = 0@ is the line going through+--   @p1@ and @p2@ with @(a^2)/d + (b^2)/d = 1@.  We delay the division by+--   @d@ as it may not be needed in all cases and @d@ may be zero.+lineEquation :: Floating n => P2 n -> P2 n -> (n, n, n, n)+lineEquation (P (V2 x1 y1)) (P (V2 x2 y2)) = (a, b, c, d)   where-    a  = a' / d-    b  = b' / d-    c  = -(x1*a' + y1*b') / d-    a' = y1 - y2-    b' = x2 - x1-    d  = sqrt $ a'*a' + b'*b'+    c  = -(x1*a + y1*b)+    a = y1 - y2+    b = x2 - x1+    d  = a*a + b*b  -- | Return the distance from a point to the line.-lineDistance :: Floating n => P2 n -> P2 n -> P2 n -> n-lineDistance p1 p2 (P (V2 x y)) = a*x + b*y + c-  where (a, b, c) = lineEquation p1 p2---- find the x value where the line through the two points--- intersect the line y=d-intersectPt :: OrderedField n => n -> P2 n -> P2 n -> n-intersectPt d (P (V2 x1 y1)) (P (V2 x2 y2)) =-  x1 + (d - y1) * (x2 - x1) / (y2 - y1)+lineDistance :: (Ord n, Floating n) => P2 n -> P2 n -> P2 n -> n+lineDistance p1 p2 p3@(P (V2 x y))+    -- I have included the check that d' <= 0 in case+    -- there exists some d > 0 where sqrt d == 0.  I don't+    -- think this can happen as sqrt is at least recommended+    -- to be within one value of correct for sqrt and near+    -- zero values get bigger.+    | d <= 0 || d' <= 0 = norm (p1 .-. p3)+    | otherwise = (a*x + b*y + c) / d'+  where+    (a, b, c, d) = lineEquation p1 p2+    d' = sqrt d  -- clockwise :: (Num n, Ord n) => V2 n -> V2 n -> Bool -- clockwise a b = a `cross2` b <= 0@@ -346,6 +361,9 @@ segLine (FLinear p0 p1)    = mkLine p0 p1 segLine (FCubic p0 _ _ p3) = mkLine p0 p3 +-- This function uses `defEps`, but is used in functions+-- above that take an epsilon parameter.  It would be nice+-- to clearify the meaning of each of these epsilons. inRange :: (Fractional n, Ord n) => n -> Bool inRange x = x < (1+defEps) && x > (-defEps) 
src/Diagrams/TwoD/Text.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE CPP                        #-}+{-# LANGUAGE ConstraintKinds            #-} {-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE FlexibleContexts           #-} {-# LANGUAGE FlexibleInstances          #-}@@ -58,9 +57,6 @@  import           Data.Colour              hiding (over) import           Data.Default.Class-#if __GLASGOW_HASKELL__ < 710-import           Data.Functor-#endif import           Data.Monoid.Recommend import           Data.Semigroup import           Data.Typeable
test/Diagrams/Test/Trail.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE FlexibleContexts #-}-+{-# LANGUAGE TypeFamilies     #-}  module Diagrams.Test.Trail where @@ -8,6 +8,9 @@ import           Test.Tasty import           Test.Tasty.QuickCheck +import           Data.Fixed+import           Data.List+ tests :: TestTree tests = testGroup "Trail"   [ let wrap :: Trail' Line V2 Double -> Located (Trail V2 Double)@@ -45,4 +48,66 @@     \t -> (reverseLocLoop . reverseLocLoop $ t) =~           (t :: Located (Trail' Loop V2 Double)) +  , testProperty "section on Trail' Line endpoints match paramaters" $+    \t (Param a) (Param b) ->+      let s = section (t :: Located (Trail' Line V2 Double)) a b+      in  t `atParam` a =~ s `atParam` 0 &&+          t `atParam` b =~ s `atParam` 1++  , testProperty "section on Trail' Line where a paramater is 0 or 1" $+    \t (Param a) ->+      let l = section (t :: Located (Trail' Line V2 Double)) 0 a+          r = section (t :: Located (Trail' Line V2 Double)) a 1+      in  t `atParam` 0 =~ l `atParam` 0 &&+          t `atParam` a =~ l `atParam` 1 &&+          t `atParam` a =~ r `atParam` 0 &&+          t `atParam` 1 =~ r `atParam` 1++  , testProperty "section on Trail' Line where a segment paramater is 0 or 1" $+    \t (Param a) i ->+      let st = unLoc t # \(Line st') -> st' :: SegTree V2 Double+          b | (numSegs st :: Word) > 0 = (fromIntegral (i `mod` (numSegs st + 1) :: Word)) / numSegs st+            | otherwise                = 0+          s = section (t :: Located (Trail' Line V2 Double)) a b+      in  t `atParam` a =~ s `atParam` 0 &&+          t `atParam` b =~ s `atParam` 1++  , testProperty "section on Trail' Line matches section on FixedSegment" $+    \t (Param a) (Param b) -> sectionTrailSectionFixedSegment t a b+   ]++data Param = Param Double deriving Show++instance Arbitrary Param where+  arbitrary = Param <$> choose (-0.5, 1.5)++sectionTrailSectionFixedSegment :: Located (Trail' Line V2 Double) -> Double -> Double -> Bool+sectionTrailSectionFixedSegment t k1 k2+  | null segs = t == t'+  | otherwise = aSecT =~ aSecFS && bSecT =~ bSecFS+  where+    a = min k1 k2+    b = max k1 k2+    t' = section t a b++    segs  = fixTrail $ mapLoc wrapLine t+    segs' = fixTrail $ mapLoc wrapLine t'++    aSecT = head segs'+    bSecT = last segs'++    (aSegIx, a') = splitParam a+    (bSegIx, b') = splitParam b++    aSecFS = section (segs !! floor aSegIx) a' x+      where x = if aSegIx == bSegIx then b' else 1+    bSecFS = section (segs !! floor bSegIx) x  b'+      where x = if aSegIx == bSegIx then a' else 0++    splitParam p | p <  0    = (0    , p           * n)+                 | p >= 1    = (n - 1, 1 + (p - 1) * n)+                 | otherwise = propFrac $  p       * n+      where+        propFrac x = let m = x `mod'` 1 in (x - m, m)+        n = genericLength segs
test/Diagrams/Test/TwoD.hs view
@@ -3,10 +3,11 @@ module Diagrams.Test.TwoD where  import           Diagrams.Prelude+import qualified Diagrams.Query as Query (sample) import           Diagrams.Trail        (linePoints) import           Instances import           Test.Tasty-import           Test.Tasty.QuickCheck+import           Test.Tasty.QuickCheck as QC  newtype SmallAngle = SmallAngle (Angle Double)   deriving (Eq, Ord, Show)@@ -50,4 +51,15 @@           , testProperty "lineSegments . fromSegments === id" $             \segs -> lineSegments (fromSegments segs) =~ (segs :: [Segment Closed V2 Double])           ]-      ]+    , testGroup "Queries and Backgrounds"+        (let dia :: QDiagram NullBackend V2 Double [Int]+             dia = circle 5 # scaleX 2 # rotateBy (1/14) # value [1]+                   <>+                   circle 2 # scaleX 5 # rotateBy (-4/14) # value [2]+         in [+           testProperty "sample dia pt === sample (dia # bg color) pt" $+           \pt -> Query.sample dia pt QC.=== Query.sample (dia # bg orange) pt+         , testProperty "sample dia pt === sample (dia # bgFrame 0.1 color) pt" $+           \pt -> Query.sample dia pt QC.=== Query.sample (dia # bgFrame 0.1 green) pt+         ])+    ]
+ test/Diagrams/Test/TwoD/Segment.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE FlexibleInstances #-}++{-# OPTIONS_GHC -fno-warn-orphans #-}++module Diagrams.Test.TwoD.Segment+    (+      tests+    ) where++import qualified Test.QuickCheck.Property as Q+import           Test.Tasty               (TestTree)+import           Test.Tasty.QuickCheck++import           Diagrams.Prelude+import           Diagrams.TwoD.Segment++newtype InBox = InBox { unInBox :: Double }++instance Arbitrary InBox where+  arbitrary = InBox <$> choose (-1, 1)++instance Arbitrary (Point V2 Double) where+  arbitrary = curry p2 <$> (unInBox <$> arbitrary)+                       <*> (unInBox <$> arbitrary)++instance Arbitrary (FixedSegment V2 Double) where+   arbitrary = oneof [FLinear <$> arbitrary <*> arbitrary, FCubic <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary]++epsT, epsE :: Double+epsT = 1.0e-9 -- parameter space epsilon+epsE = 1.0e-8 -- Euclidean space epsilon++(.=~.) :: P2 Double -> P2 Double -> Bool+x .=~. y = norm (x .-. y) < epsE++tests :: [TestTree]+tests =+    [ testProperty "segmentSegment" $+        \a b -> validateIntersections a b (segmentSegment epsT a b)+    ]++validateIntersections :: FixedSegment V2 Double -> FixedSegment V2 Double -> [(Double, Double, P2 Double)] -> Q.Result+validateIntersections _ _ [] = Q.rejected -- TODO: check for false negatives (rasterize both and look for overlap?)+validateIntersections a b isects = go isects+  where+    go [] = Q.succeeded+    go ((ta,tb,p):is)+      | and [ 0 <= ta && ta <= 1+            , 0 <= tb && tb <= 1+            , a `atParam` ta .=~. p+            , b `atParam` tb .=~. p+            ] = go is+      | otherwise = Q.failed
test/Instances.hs view
@@ -13,7 +13,7 @@  import           Diagrams.Prelude import           Numeric.Extras-import           Test.Tasty.QuickCheck (Arbitrary(..), Gen)+import           Test.Tasty.QuickCheck (Arbitrary (..), Gen) import qualified Test.Tasty.QuickCheck as QC  ------------------------------------------------------------@@ -56,6 +56,11 @@     _ =~ _ = False     -- The above is conservative:     -- Cubic never equals Linear even if they describe the same points++instance Approx n => Approx (FixedSegment V2 n) where+    FLinear a0 b0 =~ FLinear a1 b1 = a0 =~ a1 && b0 =~ b1+    FCubic a0 b0 c0 d0 =~ FCubic a1 b1 c1 d1 = a0 =~ a1 && b0 =~ b1 && c0 =~ c1 && d0 =~ d1+    _ =~ _ = False  instance Approx n => Approx (Trail' Line V2 n) where     l0 =~ l1 = and $ zipWith (=~) (lineSegments l0) (lineSegments l1)
test/Test.hs view
@@ -1,17 +1,19 @@ import           Test.Tasty                (TestTree, defaultMain, testGroup) -import qualified Diagrams.Test.Angle       as Angle-import qualified Diagrams.Test.Direction   as Direction-import qualified Diagrams.Test.Transform   as Transform-import qualified Diagrams.Test.Transform.Matrix   as TransformMatrix-import qualified Diagrams.Test.TwoD        as TwoD-import qualified Diagrams.Test.TwoD.Offset as TwoD.Offset+import qualified Diagrams.Test.Angle            as Angle+import qualified Diagrams.Test.Direction        as Direction+import qualified Diagrams.Test.Transform        as Transform+import qualified Diagrams.Test.Transform.Matrix as TransformMatrix+import qualified Diagrams.Test.TwoD             as TwoD+import qualified Diagrams.Test.TwoD.Offset      as TwoD.Offset+import qualified Diagrams.Test.TwoD.Segment     as TwoD.Segment -import qualified Diagrams.Test.Trail       as Trail+import qualified Diagrams.Test.Trail            as Trail  tests :: TestTree tests = testGroup "unit tests"     [ testGroup "TwoD.Offset" TwoD.Offset.tests+    , testGroup "TwoD.Segment" TwoD.Segment.tests     , TwoD.tests     , Angle.tests     , Direction.tests