packages feed

Cabal revisions of hgeometry-0.8.0.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
--- Initial hgeometry.cabal generated by cabal init.  For further--- documentation, see http://haskell.org/cabal/users-guide/--name:                hgeometry-version:             0.8.0.0-synopsis:            Geometric Algorithms, Data structures, and Data types.-description:-  HGeometry provides some basic geometry types, and geometric algorithms and-  data structures for them. The main two focusses are: (1) Strong type safety,-  and (2) implementations of geometric algorithms and data structures with good-  asymptotic running time guarantees. Note that HGeometry is still highly experimental, don't be surprised to find bugs.--homepage:            https://fstaals.net/software/hgeometry-license:             BSD3-license-file:        LICENSE-author:              Frank Staals-maintainer:          frank@fstaals.net--- copyright:--tested-with:         GHC >= 8.2--category:            Geometry-build-type:          Simple--data-files:          resources/basic.isy-                     test/Algorithms/Geometry/LineSegmentIntersection/manual.ipe-                     test/Algorithms/Geometry/LineSegmentIntersection/selfIntersections.ipe-                     test/Algorithms/Geometry/LowerEnvelope/manual.ipe-                     test/Algorithms/Geometry/PolygonTriangulation/monotone.ipe-                     test/Algorithms/Geometry/PolygonTriangulation/simplepolygon6.ipe-                     test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe-                     test/Data/Geometry/pointInPolygon.ipe-                     test/Data/Geometry/pointInTriangle.ipe-                     test/Data/Geometry/Polygon/Convex/convexTests.ipe-                     test/Data/Geometry/arrangement.ipe-                     test/Data/Geometry/arrangement.ipe.out.ipe-                     test/Data/myGraph.yaml-                     test/Data/myPlaneGraph.yaml--                     examples/BAPC2014/sample.in-                     examples/BAPC2014/sample.out-                     examples/BAPC2014/testdata.in-                     examples/BAPC2014/testdata.out-                     examples/BAPC2012/G.in-                     examples/BAPC2012/G.out-                     examples/BAPC2012/sampleG.in-                     examples/BAPC2012/sampleG.out--                     -- in the future (cabal >=2.4) we can use-                     -- examples/**/*.in-                     -- examples/**/*.out--extra-source-files:  README.md-                     changelog.md--Extra-doc-files:     docs/Data/PlanarGraph/testG.png-                     -- docs/**/*.png--cabal-version:       2.0-source-repository head-  type:     git-  location: https://github.com/noinia/hgeometry---flag examples-  description: Build demonstration programs-  default:     False-  manual:      True--flag with-quickcheck-  description: Include QuickCheck instances-  default:     True-  manual:      False--flag interactive-  description: Build  interactive parts-  default:     False-  manual:      True--library-  ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults--  exposed-modules:-                    -- * Generic Geometry-                    Data.Geometry-                    Data.Geometry.Properties-                    Data.Geometry.Transformation-                    Data.Geometry.Boundary-                    Data.Geometry.Duality--                    -- * Basic Geometry Types-                    Data.Geometry.Vector-                    Data.Geometry.Vector.VectorFixed-                    Data.Geometry.Vector.VectorFamily-                    Data.Geometry.Vector.VectorFamilyPeano--                    -- Data.Geometry.Vector.Vinyl-                    Data.Geometry.Interval-                    Data.Geometry.Interval.Util-                    Data.Geometry.Point-                    Data.Geometry.Line-                    Data.Geometry.Line.Internal-                    Data.Geometry.LineSegment-                    Data.Geometry.SubLine-                    Data.Geometry.HalfLine-                    Data.Geometry.PolyLine-                    Data.Geometry.HyperPlane-                    Data.Geometry.Triangle-                    -- Data.Geometry.Plane-                    Data.Geometry.Slab-                    Data.Geometry.Box-                    Data.Geometry.Box.Internal-                    Data.Geometry.Ball-                    Data.Geometry.Polygon-                    Data.Geometry.Polygon.Convex--                    -- * Geometric Data Structures-                    Data.Geometry.IntervalTree-                    Data.Geometry.SegmentTree-                    Data.Geometry.SegmentTree.Generic--                    Data.Geometry.KDTree--                    Data.Geometry.PlanarSubdivision-                    Data.Geometry.PlanarSubdivision.Basic-                    Data.Geometry.PlanarSubdivision.Draw--                    Data.Geometry.Arrangement-                    Data.Geometry.Arrangement.Internal-                    Data.Geometry.Arrangement.Draw--                    -- * Algorithms--                    -- * Geometric Algorithms-                    Algorithms.Geometry.ConvexHull.GrahamScan-                    Algorithms.Geometry.ConvexHull.DivideAndConquer--                    Algorithms.Geometry.LowerEnvelope.DualCH--                    Algorithms.Geometry.SmallestEnclosingBall.Types-                    Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction-                    Algorithms.Geometry.SmallestEnclosingBall.Naive--                    Algorithms.Geometry.DelaunayTriangulation.Types-                    Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer-                    Algorithms.Geometry.DelaunayTriangulation.Naive--                    Algorithms.Geometry.PolyLineSimplification.DouglasPeucker--                    Algorithms.Geometry.EuclideanMST.EuclideanMST--                    Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD-                    Algorithms.Geometry.WellSeparatedPairDecomposition.Types--                    Algorithms.Geometry.Diameter--                    Algorithms.Geometry.Sweep--                    Algorithms.Geometry.PolygonTriangulation.Types-                    Algorithms.Geometry.PolygonTriangulation.Triangulate-                    Algorithms.Geometry.PolygonTriangulation.MakeMonotone-                    Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone--                    Algorithms.Geometry.LineSegmentIntersection-                    Algorithms.Geometry.LineSegmentIntersection.Naive-                    Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann-                    Algorithms.Geometry.LineSegmentIntersection.Types--                    -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval--                    Algorithms.Geometry.ClosestPair.Naive-                    Algorithms.Geometry.ClosestPair.DivideAndConquer---                    -- * Graph Algorithms-                    Algorithms.Graph.DFS-                    Algorithms.Graph.MST--                    -- * Ipe Types-                    Data.Geometry.Ipe-                    Data.Geometry.Ipe.Literal-                    Data.Geometry.Ipe.Value-                    Data.Geometry.Ipe.Color-                    Data.Geometry.Ipe.Attributes-                    Data.Geometry.Ipe.Types-                    Data.Geometry.Ipe.Writer-                    Data.Geometry.Ipe.Reader-                    Data.Geometry.Ipe.PathParser-                    Data.Geometry.Ipe.IpeOut-                    Data.Geometry.Ipe.FromIpe--                    -- * General Data Types-                    Data.UnBounded-                    Data.Range-                    Data.Ext-                    Data.LSeq-                    Data.CircularSeq-                    Data.Sequence.Util-                    Data.BinaryTree-                    Data.BinaryTree.Zipper--                    Data.CircularList.Util-                    Data.BalBST-                    Data.OrdSeq-                    Data.SlowSeq-                    Data.Tree.Util-                    Data.Util--                    -- * Planar Graphs-                    Data.Permutation-                    Data.PlanarGraph-                    Data.PlaneGraph-                    Data.PlaneGraph.Draw--                    -- * Graphics stuff-                    Graphics.Camera--                    -- * Other-                    System.Random.Shuffle-                    Control.Monad.State.Persistent-                    Data.Yaml.Util----  other-modules:-                   Data.Geometry.Ipe.ParserPrimitives-----  -- other-extensions:-  build-depends:-                base             >= 4.10      &&     < 5-              , bifunctors       >= 4.1-              , bytestring       >= 0.10-              , containers       >= 0.5.5-              , dlist            >= 0.7-              , contravariant    >= 1.4-              , profunctors      >= 5.2.1-              , lens             >= 4.2-              , linear           >= 1.10-              , semigroupoids    >= 5-              , semigroups       >= 0.18-              , singletons       >= 2.0-              , text             >= 1.1.1.0-              , vinyl            >= 0.6        && < 0.9-              , deepseq          >= 1.1-              , fingertree       >= 0.1-              , colour           >= 2.3.3-              , reflection       >= 2.1---              -- , validation       >= 0.4--              , parsec           >= 3-                -- , tranformers      > 0.3--              , vector           >= 0.11-              , fixed-vector     >= 1.0-              , data-clist       >= 0.0.7.2--              , hexpat           >= 0.20.9-              , aeson            >= 1.0-              , yaml             >= 0.8---              , mtl-              , random-              , template-haskell--  if flag(with-quickcheck)-    build-depends: QuickCheck              >= 2.5-                 , quickcheck-instances    >= 0.3-    exposed-modules: Test.QuickCheck.HGeometryInstances---  hs-source-dirs: src-                  -- examples/demo--  default-language:    Haskell2010--  default-extensions: TypeFamilies-                    , GADTs-                    , KindSignatures-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , RankNTypes--                    , PatternSynonyms-                    , TupleSections-                    , LambdaCase-                    , ViewPatterns--                    , StandaloneDeriving-                    , GeneralizedNewtypeDeriving-                    , DeriveFunctor-                    , DeriveFoldable-                    , DeriveTraversable-                    , DeriveGeneric-                    , AutoDeriveTypeable---                    , FlexibleInstances-                    , FlexibleContexts-                    , MultiParamTypeClasses--executable hgeometry-viewer-  if !flag(interactive)-    buildable: False-  main-is: Viewer.hs--  if flag(interactive)-    build-depends: base-                 , hgeometry-                 , lens-                 , containers-                 , vinyl-                 , semigroups-                 , optparse-applicative   >= 0.13.0.0-                 , text-                 , hexpat-                 , bytestring-                 , directory-                 , time-                 , random-                 , vector-                 , colour-                 , cairo-canvas           >= 0.1.0.0-                 -- , sdl2                   >= 2.2.0-                 , gi-gtk                 >= 3.0.15-                 , reactive-banana-gi-gtk >= 0.2.0.0-                 , cairo                  >= 0.13.3.1-                 -- , gi-glib-                 , gi-cairo-                 , gi-gdk-                 -- , gi-gdkpixbuf-                 , gi-gtk-                 , transformers-                 , linear-                 , haskell-gi-base-                 , reactive-banana        >= 1.1.0.1----  hs-source-dirs: interactive--  other-modules: RenderCanvas-                 RenderUtil-                 -- ConvexHull--  default-language: Haskell2010--  default-extensions: TypeFamilies-                    , GADTs-                    , KindSignatures-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , RankNTypes--                    , PatternSynonyms-                    , ViewPatterns--                    , StandaloneDeriving-                    , GeneralizedNewtypeDeriving-                    , DeriveFunctor-                    , DeriveFoldable-                    , DeriveTraversable--                    , DeriveDataTypeable-                    , AutoDeriveTypeable--                    , FlexibleInstances-                    , FlexibleContexts-                    , MultiParamTypeClasses-----executable hgeometry-examples-  if !flag(examples)-    buildable: False-  main-is: Main.hs--  if flag(examples)-    build-depends: base-                 , hgeometry-                 , lens-                 , containers-                 , vinyl-                 , semigroups-                 , optparse-applicative   >= 0.13.0.0-                 , text-                 , hexpat-                 , bytestring-                 , directory-                 , time-                 , random-                 , QuickCheck--  hs-source-dirs: examples--  other-modules: Demo.DrawGPX-                 Demo.WriteEnsemble-                 Demo.MinDisk-                 Demo.Delaunay-                 Demo.ExpectedPairwiseDistance-                 Demo.TriangulateWorld-                 Demo.GPXParser--  default-language: Haskell2010--  default-extensions: TypeFamilies-                    , GADTs-                    , KindSignatures-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , RankNTypes--                    , PatternSynonyms-                    , ViewPatterns--                    , StandaloneDeriving-                    , GeneralizedNewtypeDeriving-                    , DeriveFunctor-                    , DeriveFoldable-                    , DeriveTraversable--                    , DeriveDataTypeable-                    , AutoDeriveTypeable--                    , FlexibleInstances-                    , FlexibleContexts-                    , MultiParamTypeClasses----test-suite doctests-  type:          exitcode-stdio-1.0-  ghc-options:   -threaded-  main-is:       doctests.hs-  build-depends: base-               , doctest             >= 0.8---               , doctest-discover--  default-language:    Haskell2010--test-suite hspec-  type:                 exitcode-stdio-1.0-  default-language:     Haskell2010-  hs-source-dirs:       test-  main-is:              Spec.hs-  ghc-options:   -fno-warn-unticked-promoted-constructors-                 -fno-warn-partial-type-signatures-                 -fno-warn-missing-signatures--  build-tool-depends: hspec-discover:hspec-discover---  other-modules: Data.RangeSpec-                 Data.EdgeOracleSpec-                 Data.PlanarGraphSpec-                 Data.PlaneGraphSpec-                 Data.OrdSeqSpec-                 Data.Geometry.Ipe.ReaderSpec-                 Data.Geometry.PolygonSpec-                 Data.Geometry.LineSegmentSpec-                 Data.Geometry.PointSpec-                 Data.Geometry.Polygon.Convex.ConvexSpec-                 Data.Geometry.KDTreeSpec-                 Data.Geometry.IntervalSpec-                 Data.Geometry.BoxSpec-                 Data.Geometry.LineSpec-                 Data.Geometry.SubLineSpec-                 Data.Geometry.PlanarSubdivisionSpec-                 Data.Geometry.TriangleSpec-                 Data.Geometry.ArrangementSpec--                 Algorithms.Geometry.SmallestEnclosingDisk.RISpec-                 Algorithms.Geometry.DelaunayTriangulation.DTSpec-                 Algorithms.Geometry.WellSeparatedPairDecomposition.WSPDSpec-                 Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannSpec-                 Algorithms.Geometry.PolygonTriangulation.MakeMonotoneSpec-                 Algorithms.Geometry.PolygonTriangulation.TriangulateMonotoneSpec-                 Algorithms.Geometry.LowerEnvelope.LowerEnvSpec-                 Algorithms.Geometry.ConvexHull.ConvexHullSpec-                 -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemovalSpec-                 Algorithms.Geometry.ClosestPair.ClosestPairSpec--                 Util---  build-depends:        base-                      , hspec                >= 2.1-                      , QuickCheck           >= 2.5-                      , quickcheck-instances    >= 0.3-                      , approximate-equality >= 1.1.0.2-                      , hgeometry-                      , lens-                      , data-clist-                      , linear-                      , bytestring-                      , vinyl-                      , semigroups-                      , vector-                      , containers-                      , random-                      , singletons-                      , colour-                      , filepath-                      , directory-                      , yaml---  default-extensions: TypeFamilies-                    , GADTs-                    , KindSignatures-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , RankNTypes--                    , PatternSynonyms-                    , ViewPatterns-                    , LambdaCase-                    , TupleSections---                    , StandaloneDeriving-                    , GeneralizedNewtypeDeriving-                    , DeriveFunctor-                    , DeriveFoldable-                    , DeriveTraversable--                    , AutoDeriveTypeable--                    , FlexibleInstances-                    , FlexibleContexts-                    , MultiParamTypeClasses-                    , OverloadedStrings--test-suite bapc_examples-  type:          exitcode-stdio-1.0-  ghc-options:   -O2 -fno-warn-unticked-promoted-constructors-  main-is:       bapc_examples.hs-  hs-source-dirs: examples-  build-depends: base-               , doctest    >= 0.8-               , array      >= 0.5-               , hgeometry-               , lens-               , data-clist-               , linear-               , semigroups--  other-modules: BAPC2012.Gunslinger-                 BAPC2014.Armybase--  default-language:    Haskell2010--  default-extensions: TypeFamilies-                    , GADTs-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , PatternSynonyms-                    , ViewPatterns--benchmark benchmarks--  hs-source-dirs: benchmark test examples--  main-is: Benchmarks.hs-  type: exitcode-stdio-1.0--  other-modules: Benchmark.Util-                 Algorithms.Geometry.ConvexHull.Bench-                 Algorithms.Geometry.ConvexHull.GrahamV2-                 Algorithms.Geometry.ConvexHull.GrahamFam-                 Algorithms.Geometry.ConvexHull.GrahamFamPeano-                 Algorithms.Geometry.ConvexHull.GrahamFixed-                 Data.Geometry.Vector.VectorFamily6-                 Algorithms.Geometry.ConvexHull.GrahamFam6-                 Data.Geometry.IntervalTreeBench-                 Demo.ExpectedPairwiseDistance-                 Demo.TriangulateWorld-                 WSPDBench-                 Algorithms.Geometry.ClosestPair.Bench--  build-depends:-                base-              , criterion >= 1.1.4.0-              , fixed-vector-              , linear-              , semigroups-              , deepseq-              , deepseq-generics-              , hgeometry-              , lens-              , QuickCheck-              , bytestring-              , containers-              , optparse-applicative--  ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors--  default-language:    Haskell2010--  default-extensions: TypeFamilies-                    , GADTs-                    , KindSignatures-                    , DataKinds-                    , TypeOperators-                    , ConstraintKinds-                    , PolyKinds-                    , RankNTypes--                    , PatternSynonyms-                    , ViewPatterns-                    , LambdaCase-                    , TupleSections---                    , StandaloneDeriving-                    , GeneralizedNewtypeDeriving-                    , DeriveFunctor-                    , DeriveFoldable-                    , DeriveTraversable--                    , AutoDeriveTypeable--                    , FlexibleInstances-                    , FlexibleContexts-                    , MultiParamTypeClasses-                    , OverloadedStrings+-- Initial hgeometry.cabal generated by cabal init.  For further
+-- documentation, see http://haskell.org/cabal/users-guide/
+
+name:                hgeometry
+version:             0.8.0.0
+x-revision: 1
+synopsis:            Geometric Algorithms, Data structures, and Data types.
+description:
+  HGeometry provides some basic geometry types, and geometric algorithms and
+  data structures for them. The main two focusses are: (1) Strong type safety,
+  and (2) implementations of geometric algorithms and data structures with good
+  asymptotic running time guarantees. Note that HGeometry is still highly experimental, don't be surprised to find bugs.
+
+homepage:            https://fstaals.net/software/hgeometry
+license:             BSD3
+license-file:        LICENSE
+author:              Frank Staals
+maintainer:          frank@fstaals.net
+-- copyright:
+
+tested-with:         GHC >= 8.2
+
+category:            Geometry
+build-type:          Simple
+
+data-files:          resources/basic.isy
+                     test/Algorithms/Geometry/LineSegmentIntersection/manual.ipe
+                     test/Algorithms/Geometry/LineSegmentIntersection/selfIntersections.ipe
+                     test/Algorithms/Geometry/LowerEnvelope/manual.ipe
+                     test/Algorithms/Geometry/PolygonTriangulation/monotone.ipe
+                     test/Algorithms/Geometry/PolygonTriangulation/simplepolygon6.ipe
+                     test/Algorithms/Geometry/SmallestEnclosingDisk/manual.ipe
+                     test/Data/Geometry/pointInPolygon.ipe
+                     test/Data/Geometry/pointInTriangle.ipe
+                     test/Data/Geometry/Polygon/Convex/convexTests.ipe
+                     test/Data/Geometry/arrangement.ipe
+                     test/Data/Geometry/arrangement.ipe.out.ipe
+                     test/Data/myGraph.yaml
+                     test/Data/myPlaneGraph.yaml
+
+                     examples/BAPC2014/sample.in
+                     examples/BAPC2014/sample.out
+                     examples/BAPC2014/testdata.in
+                     examples/BAPC2014/testdata.out
+                     examples/BAPC2012/G.in
+                     examples/BAPC2012/G.out
+                     examples/BAPC2012/sampleG.in
+                     examples/BAPC2012/sampleG.out
+
+                     -- in the future (cabal >=2.4) we can use
+                     -- examples/**/*.in
+                     -- examples/**/*.out
+
+extra-source-files:  README.md
+                     changelog.md
+
+Extra-doc-files:     docs/Data/PlanarGraph/testG.png
+                     -- docs/**/*.png
+
+cabal-version:       2.0
+source-repository head
+  type:     git
+  location: https://github.com/noinia/hgeometry
+
+
+flag examples
+  description: Build demonstration programs
+  default:     False
+  manual:      True
+
+flag with-quickcheck
+  description: Include QuickCheck instances
+  default:     True
+  manual:      False
+
+flag interactive
+  description: Build  interactive parts
+  default:     False
+  manual:      True
+
+library
+  ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults
+
+  exposed-modules:
+                    -- * Generic Geometry
+                    Data.Geometry
+                    Data.Geometry.Properties
+                    Data.Geometry.Transformation
+                    Data.Geometry.Boundary
+                    Data.Geometry.Duality
+
+                    -- * Basic Geometry Types
+                    Data.Geometry.Vector
+                    Data.Geometry.Vector.VectorFixed
+                    Data.Geometry.Vector.VectorFamily
+                    Data.Geometry.Vector.VectorFamilyPeano
+
+                    -- Data.Geometry.Vector.Vinyl
+                    Data.Geometry.Interval
+                    Data.Geometry.Interval.Util
+                    Data.Geometry.Point
+                    Data.Geometry.Line
+                    Data.Geometry.Line.Internal
+                    Data.Geometry.LineSegment
+                    Data.Geometry.SubLine
+                    Data.Geometry.HalfLine
+                    Data.Geometry.PolyLine
+                    Data.Geometry.HyperPlane
+                    Data.Geometry.Triangle
+                    -- Data.Geometry.Plane
+                    Data.Geometry.Slab
+                    Data.Geometry.Box
+                    Data.Geometry.Box.Internal
+                    Data.Geometry.Ball
+                    Data.Geometry.Polygon
+                    Data.Geometry.Polygon.Convex
+
+                    -- * Geometric Data Structures
+                    Data.Geometry.IntervalTree
+                    Data.Geometry.SegmentTree
+                    Data.Geometry.SegmentTree.Generic
+
+                    Data.Geometry.KDTree
+
+                    Data.Geometry.PlanarSubdivision
+                    Data.Geometry.PlanarSubdivision.Basic
+                    Data.Geometry.PlanarSubdivision.Draw
+
+                    Data.Geometry.Arrangement
+                    Data.Geometry.Arrangement.Internal
+                    Data.Geometry.Arrangement.Draw
+
+                    -- * Algorithms
+
+                    -- * Geometric Algorithms
+                    Algorithms.Geometry.ConvexHull.GrahamScan
+                    Algorithms.Geometry.ConvexHull.DivideAndConquer
+
+                    Algorithms.Geometry.LowerEnvelope.DualCH
+
+                    Algorithms.Geometry.SmallestEnclosingBall.Types
+                    Algorithms.Geometry.SmallestEnclosingBall.RandomizedIncrementalConstruction
+                    Algorithms.Geometry.SmallestEnclosingBall.Naive
+
+                    Algorithms.Geometry.DelaunayTriangulation.Types
+                    Algorithms.Geometry.DelaunayTriangulation.DivideAndConquer
+                    Algorithms.Geometry.DelaunayTriangulation.Naive
+
+                    Algorithms.Geometry.PolyLineSimplification.DouglasPeucker
+
+                    Algorithms.Geometry.EuclideanMST.EuclideanMST
+
+                    Algorithms.Geometry.WellSeparatedPairDecomposition.WSPD
+                    Algorithms.Geometry.WellSeparatedPairDecomposition.Types
+
+                    Algorithms.Geometry.Diameter
+
+                    Algorithms.Geometry.Sweep
+
+                    Algorithms.Geometry.PolygonTriangulation.Types
+                    Algorithms.Geometry.PolygonTriangulation.Triangulate
+                    Algorithms.Geometry.PolygonTriangulation.MakeMonotone
+                    Algorithms.Geometry.PolygonTriangulation.TriangulateMonotone
+
+                    Algorithms.Geometry.LineSegmentIntersection
+                    Algorithms.Geometry.LineSegmentIntersection.Naive
+                    Algorithms.Geometry.LineSegmentIntersection.BentleyOttmann
+                    Algorithms.Geometry.LineSegmentIntersection.Types
+
+                    -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemoval
+
+                    Algorithms.Geometry.ClosestPair.Naive
+                    Algorithms.Geometry.ClosestPair.DivideAndConquer
+
+
+                    -- * Graph Algorithms
+                    Algorithms.Graph.DFS
+                    Algorithms.Graph.MST
+
+                    -- * Ipe Types
+                    Data.Geometry.Ipe
+                    Data.Geometry.Ipe.Literal
+                    Data.Geometry.Ipe.Value
+                    Data.Geometry.Ipe.Color
+                    Data.Geometry.Ipe.Attributes
+                    Data.Geometry.Ipe.Types
+                    Data.Geometry.Ipe.Writer
+                    Data.Geometry.Ipe.Reader
+                    Data.Geometry.Ipe.PathParser
+                    Data.Geometry.Ipe.IpeOut
+                    Data.Geometry.Ipe.FromIpe
+
+                    -- * General Data Types
+                    Data.UnBounded
+                    Data.Range
+                    Data.Ext
+                    Data.LSeq
+                    Data.CircularSeq
+                    Data.Sequence.Util
+                    Data.BinaryTree
+                    Data.BinaryTree.Zipper
+
+                    Data.CircularList.Util
+                    Data.BalBST
+                    Data.OrdSeq
+                    Data.SlowSeq
+                    Data.Tree.Util
+                    Data.Util
+
+                    -- * Planar Graphs
+                    Data.Permutation
+                    Data.PlanarGraph
+                    Data.PlaneGraph
+                    Data.PlaneGraph.Draw
+
+                    -- * Graphics stuff
+                    Graphics.Camera
+
+                    -- * Other
+                    System.Random.Shuffle
+                    Control.Monad.State.Persistent
+                    Data.Yaml.Util
+
+
+
+  other-modules:
+                   Data.Geometry.Ipe.ParserPrimitives
+
+
+
+
+  -- other-extensions:
+  build-depends:
+                base             >= 4.11      &&     < 5
+              , bifunctors       >= 4.1
+              , bytestring       >= 0.10
+              , containers       >= 0.5.5
+              , dlist            >= 0.7
+              , contravariant    >= 1.4
+              , profunctors      >= 5.2.1
+              , lens             >= 4.2
+              , linear           >= 1.10
+              , semigroupoids    >= 5
+              , semigroups       >= 0.18
+              , singletons       >= 2.0
+              , text             >= 1.1.1.0
+              , vinyl            >= 0.6        && < 0.9
+              , deepseq          >= 1.1
+              , fingertree       >= 0.1
+              , colour           >= 2.3.3
+              , reflection       >= 2.1
+
+
+              -- , validation       >= 0.4
+
+              , parsec           >= 3
+                -- , tranformers      > 0.3
+
+              , vector           >= 0.11
+              , fixed-vector     >= 1.0
+              , data-clist       >= 0.0.7.2
+
+              , hexpat           >= 0.20.9
+              , aeson            >= 1.0
+              , yaml             >= 0.8
+
+
+              , mtl
+              , random
+              , template-haskell
+
+  if flag(with-quickcheck)
+    build-depends: QuickCheck              >= 2.5
+                 , quickcheck-instances    >= 0.3
+    exposed-modules: Test.QuickCheck.HGeometryInstances
+
+
+  hs-source-dirs: src
+                  -- examples/demo
+
+  default-language:    Haskell2010
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , KindSignatures
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , RankNTypes
+
+                    , PatternSynonyms
+                    , TupleSections
+                    , LambdaCase
+                    , ViewPatterns
+
+                    , StandaloneDeriving
+                    , GeneralizedNewtypeDeriving
+                    , DeriveFunctor
+                    , DeriveFoldable
+                    , DeriveTraversable
+                    , DeriveGeneric
+                    , AutoDeriveTypeable
+
+
+                    , FlexibleInstances
+                    , FlexibleContexts
+                    , MultiParamTypeClasses
+
+executable hgeometry-viewer
+  if !flag(interactive)
+    buildable: False
+  main-is: Viewer.hs
+
+  if flag(interactive)
+    build-depends: base
+                 , hgeometry
+                 , lens
+                 , containers
+                 , vinyl
+                 , semigroups
+                 , optparse-applicative   >= 0.13.0.0
+                 , text
+                 , hexpat
+                 , bytestring
+                 , directory
+                 , time
+                 , random
+                 , vector
+                 , colour
+                 , cairo-canvas           >= 0.1.0.0
+                 -- , sdl2                   >= 2.2.0
+                 , gi-gtk                 >= 3.0.15
+                 , reactive-banana-gi-gtk >= 0.2.0.0
+                 , cairo                  >= 0.13.3.1
+                 -- , gi-glib
+                 , gi-cairo
+                 , gi-gdk
+                 -- , gi-gdkpixbuf
+                 , gi-gtk
+                 , transformers
+                 , linear
+                 , haskell-gi-base
+                 , reactive-banana        >= 1.1.0.1
+
+
+
+  hs-source-dirs: interactive
+
+  other-modules: RenderCanvas
+                 RenderUtil
+                 -- ConvexHull
+
+  default-language: Haskell2010
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , KindSignatures
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , RankNTypes
+
+                    , PatternSynonyms
+                    , ViewPatterns
+
+                    , StandaloneDeriving
+                    , GeneralizedNewtypeDeriving
+                    , DeriveFunctor
+                    , DeriveFoldable
+                    , DeriveTraversable
+
+                    , DeriveDataTypeable
+                    , AutoDeriveTypeable
+
+                    , FlexibleInstances
+                    , FlexibleContexts
+                    , MultiParamTypeClasses
+
+
+
+
+executable hgeometry-examples
+  if !flag(examples)
+    buildable: False
+  main-is: Main.hs
+
+  if flag(examples)
+    build-depends: base
+                 , hgeometry
+                 , lens
+                 , containers
+                 , vinyl
+                 , semigroups
+                 , optparse-applicative   >= 0.13.0.0
+                 , text
+                 , hexpat
+                 , bytestring
+                 , directory
+                 , time
+                 , random
+                 , QuickCheck
+
+  hs-source-dirs: examples
+
+  other-modules: Demo.DrawGPX
+                 Demo.WriteEnsemble
+                 Demo.MinDisk
+                 Demo.Delaunay
+                 Demo.ExpectedPairwiseDistance
+                 Demo.TriangulateWorld
+                 Demo.GPXParser
+
+  default-language: Haskell2010
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , KindSignatures
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , RankNTypes
+
+                    , PatternSynonyms
+                    , ViewPatterns
+
+                    , StandaloneDeriving
+                    , GeneralizedNewtypeDeriving
+                    , DeriveFunctor
+                    , DeriveFoldable
+                    , DeriveTraversable
+
+                    , DeriveDataTypeable
+                    , AutoDeriveTypeable
+
+                    , FlexibleInstances
+                    , FlexibleContexts
+                    , MultiParamTypeClasses
+
+
+
+test-suite doctests
+  type:          exitcode-stdio-1.0
+  ghc-options:   -threaded
+  main-is:       doctests.hs
+  build-depends: base
+               , doctest             >= 0.8
+--               , doctest-discover
+
+  default-language:    Haskell2010
+
+test-suite hspec
+  type:                 exitcode-stdio-1.0
+  default-language:     Haskell2010
+  hs-source-dirs:       test
+  main-is:              Spec.hs
+  ghc-options:   -fno-warn-unticked-promoted-constructors
+                 -fno-warn-partial-type-signatures
+                 -fno-warn-missing-signatures
+
+  build-tool-depends: hspec-discover:hspec-discover
+
+
+  other-modules: Data.RangeSpec
+                 Data.EdgeOracleSpec
+                 Data.PlanarGraphSpec
+                 Data.PlaneGraphSpec
+                 Data.OrdSeqSpec
+                 Data.Geometry.Ipe.ReaderSpec
+                 Data.Geometry.PolygonSpec
+                 Data.Geometry.LineSegmentSpec
+                 Data.Geometry.PointSpec
+                 Data.Geometry.Polygon.Convex.ConvexSpec
+                 Data.Geometry.KDTreeSpec
+                 Data.Geometry.IntervalSpec
+                 Data.Geometry.BoxSpec
+                 Data.Geometry.LineSpec
+                 Data.Geometry.SubLineSpec
+                 Data.Geometry.PlanarSubdivisionSpec
+                 Data.Geometry.TriangleSpec
+                 Data.Geometry.ArrangementSpec
+
+                 Algorithms.Geometry.SmallestEnclosingDisk.RISpec
+                 Algorithms.Geometry.DelaunayTriangulation.DTSpec
+                 Algorithms.Geometry.WellSeparatedPairDecomposition.WSPDSpec
+                 Algorithms.Geometry.LineSegmentIntersection.BentleyOttmannSpec
+                 Algorithms.Geometry.PolygonTriangulation.MakeMonotoneSpec
+                 Algorithms.Geometry.PolygonTriangulation.TriangulateMonotoneSpec
+                 Algorithms.Geometry.LowerEnvelope.LowerEnvSpec
+                 Algorithms.Geometry.ConvexHull.ConvexHullSpec
+                 -- Algorithms.Geometry.HiddenSurfaceRemoval.HiddenSurfaceRemovalSpec
+                 Algorithms.Geometry.ClosestPair.ClosestPairSpec
+
+                 Util
+
+
+  build-depends:        base
+                      , hspec                >= 2.1
+                      , QuickCheck           >= 2.5
+                      , quickcheck-instances    >= 0.3
+                      , approximate-equality >= 1.1.0.2
+                      , hgeometry
+                      , lens
+                      , data-clist
+                      , linear
+                      , bytestring
+                      , vinyl
+                      , semigroups
+                      , vector
+                      , containers
+                      , random
+                      , singletons
+                      , colour
+                      , filepath
+                      , directory
+                      , yaml
+
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , KindSignatures
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , RankNTypes
+
+                    , PatternSynonyms
+                    , ViewPatterns
+                    , LambdaCase
+                    , TupleSections
+
+
+                    , StandaloneDeriving
+                    , GeneralizedNewtypeDeriving
+                    , DeriveFunctor
+                    , DeriveFoldable
+                    , DeriveTraversable
+
+                    , AutoDeriveTypeable
+
+                    , FlexibleInstances
+                    , FlexibleContexts
+                    , MultiParamTypeClasses
+                    , OverloadedStrings
+
+test-suite bapc_examples
+  type:          exitcode-stdio-1.0
+  ghc-options:   -O2 -fno-warn-unticked-promoted-constructors
+  main-is:       bapc_examples.hs
+  hs-source-dirs: examples
+  build-depends: base
+               , doctest    >= 0.8
+               , array      >= 0.5
+               , hgeometry
+               , lens
+               , data-clist
+               , linear
+               , semigroups
+
+  other-modules: BAPC2012.Gunslinger
+                 BAPC2014.Armybase
+
+  default-language:    Haskell2010
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , PatternSynonyms
+                    , ViewPatterns
+
+benchmark benchmarks
+
+  hs-source-dirs: benchmark test examples
+
+  main-is: Benchmarks.hs
+  type: exitcode-stdio-1.0
+
+  other-modules: Benchmark.Util
+                 Algorithms.Geometry.ConvexHull.Bench
+                 Algorithms.Geometry.ConvexHull.GrahamV2
+                 Algorithms.Geometry.ConvexHull.GrahamFam
+                 Algorithms.Geometry.ConvexHull.GrahamFamPeano
+                 Algorithms.Geometry.ConvexHull.GrahamFixed
+                 Data.Geometry.Vector.VectorFamily6
+                 Algorithms.Geometry.ConvexHull.GrahamFam6
+                 Data.Geometry.IntervalTreeBench
+                 Demo.ExpectedPairwiseDistance
+                 Demo.TriangulateWorld
+                 WSPDBench
+                 Algorithms.Geometry.ClosestPair.Bench
+
+  build-depends:
+                base
+              , criterion >= 1.1.4.0
+              , fixed-vector
+              , linear
+              , semigroups
+              , deepseq
+              , deepseq-generics
+              , hgeometry
+              , lens
+              , QuickCheck
+              , bytestring
+              , containers
+              , optparse-applicative
+
+  ghc-options: -Wall -O2 -rtsopts -fno-warn-unticked-promoted-constructors
+
+  default-language:    Haskell2010
+
+  default-extensions: TypeFamilies
+                    , GADTs
+                    , KindSignatures
+                    , DataKinds
+                    , TypeOperators
+                    , ConstraintKinds
+                    , PolyKinds
+                    , RankNTypes
+
+                    , PatternSynonyms
+                    , ViewPatterns
+                    , LambdaCase
+                    , TupleSections
+
+
+                    , StandaloneDeriving
+                    , GeneralizedNewtypeDeriving
+                    , DeriveFunctor
+                    , DeriveFoldable
+                    , DeriveTraversable
+
+                    , AutoDeriveTypeable
+
+                    , FlexibleInstances
+                    , FlexibleContexts
+                    , MultiParamTypeClasses
+                    , OverloadedStrings