cabal-version: 3.4 name: hgeometry-combinatorial version: 1.0.0.0 synopsis: Data structures, and Data types. description: The Non-geometric data types and algorithms used in HGeometry. license: MIT license-file: LICENSE homepage: https://fstaals.net/software/hgeometry author: Frank Staals maintainer: frank@fstaals.net -- copyright: category: Geometry build-type: Simple extra-doc-files: README.md changelog.txt -- extra-source-files: tested-with: GHC == 9.10.1 , GHC == 9.8.2 -------------------------------------------------------------------------------- common setup ghc-options: -O2 -Wall -fno-warn-unticked-promoted-constructors -fno-warn-type-defaults -fspecialise-aggressively -fexpose-all-unfoldings build-depends: base >= 4.16.1 && < 5 , containers >= 0.6 && < 1 , nonempty-containers >= 0.3.4.5 && < 0.4 , lens >= 5.2 && < 6 , bifunctors >= 4.1 && < 6 , deepseq >= 1.1 && < 2 , foldable1-classes-compat >= 0.1 && < 1 , semigroupoids >= 6.0.0.1 && < 7 , semigroups >= 0.18 && < 1 , random >= 1.2 && < 2 , mtl >= 2.2 && < 3 , data-clist >= 0.2 && < 1 , vector >= 0.13 && < 1 , vector-builder >= 0.3.7 && < 1 , vector-algorithms >= 0.8 && < 1 , nonempty-vector >= 0.2.3 && < 1 , linear >= 1.20 && < 2 , HsYAML >= 0.2 && < 1 , aeson >= 2 && < 3 , MonadRandom >= 0.5 && < 1 , reflection >= 2.1.7 && < 3 , filepath >= 1.4.100 && < 2 , file-io >= 0.1 && < 1 , text >= 2 && < 3 , bytestring >= 0.10 && < 1 , indexed-traversable >= 0.1.3 && < 1 , data-default-class >= 0.1.2 && < 1 -- , witherable >= 0.4 -- , linear >= 1.21 -- , ghc-typelits-natnormalise >= 0.7.7 -- , ghc-typelits-knownnat >= 0.7.6 default-language: GHC2021 default-extensions: DataKinds , TypeFamilies , GADTs , KindSignatures , ScopedTypeVariables , DerivingStrategies , DerivingVia , GeneralizedNewtypeDeriving , DeriveGeneric , DeriveFunctor , PatternSynonyms , TupleSections , LambdaCase , ViewPatterns , FunctionalDependencies common quickcheck-setup build-depends: QuickCheck >= 2.10 && < 3 , quickcheck-instances >= 0.3 && < 1 common test-setup import: quickcheck-setup ghc-options: -Wall -fno-warn-unticked-promoted-constructors -fno-warn-partial-type-signatures -fno-warn-missing-signatures -fno-warn-type-defaults -fno-warn-orphans build-depends: hspec >= 2.9 && < 3 -------------------------------------------------------------------------------- -- * Main Library library import: setup exposed-modules: HGeometry.Algorithms.DivideAndConquer HGeometry.Algorithms.BinarySearch HGeometry.Algorithms.LogarithmicMethod HGeometry.CircularList.Util HGeometry.Combinatorial.Util HGeometry.Cyclic HGeometry.Ext HGeometry.Foldable.Sort HGeometry.Foldable.Util -- HGeometry.Foldable.NonEmpty HGeometry.Indexed HGeometry.Lens.Util HGeometry.List.Zipper HGeometry.List.Util HGeometry.Map.NonEmpty.Monoidal HGeometry.Measured HGeometry.Measured.Class HGeometry.Measured.Size HGeometry.Measured.Report HGeometry.NonEmpty.Util HGeometry.Number.Real.Rational HGeometry.Number.Real.Symbolic HGeometry.Number.Ratio.Generalized HGeometry.Number.Radical HGeometry.Ord.Dynamic HGeometry.Permutation HGeometry.Permutation.Shuffle HGeometry.Sequence.Alternating HGeometry.Sequence.NonEmpty HGeometry.Sequence.KV HGeometry.Set.Util HGeometry.Sign HGeometry.StringSearch.KMP -- HGeometry.Small.ZeroOrTwo HGeometry.Small.AtMostTwo HGeometry.Tree.Binary.Static HGeometry.Tree.Util HGeometry.Trie HGeometry.Trie.Binary HGeometry.Unbounded HGeometry.Vector.NonEmpty.Util HGeometry.YAML other-modules: HGeometry.Trie.Type -- other-extensions: hs-source-dirs: src -- build-depends: -- hgeometry-combinatorial:unpacked -- , hgeometry-combinatorial:shared -------------------------------------------------------------------------------- -- * Helper Libraries library quickcheck import: setup, quickcheck-setup visibility: public hs-source-dirs: src-quickcheck exposed-modules: HGeometry.Combinatorial.Instances build-depends: hgeometry-combinatorial -------------------------------------------------------------------------------- -- * Tests test-suite hgeometry-combinatorial-hspec import: setup, test-setup type: exitcode-stdio-1.0 build-tool-depends: hspec-discover:hspec-discover hs-source-dirs: test main-is: Main.hs other-modules: Spec Algorithms.DivideAndConquerSpec Algorithms.LogarithmicMethodSpec StringSearch.KMPSpec SetUtilSpec CyclicSpec ShuffleSpec TrieSpec build-depends: hgeometry-combinatorial , hgeometry-combinatorial:quickcheck test-suite hgeometry-combinatorial-doctest import: setup, quickcheck-setup type: exitcode-stdio-1.0 main-is: doctests.hs build-tool-depends: doctest-driver-gen:doctest-driver-gen build-depends: doctest >= 0.8 && < 1 -------------------------------------------------------------------------------- -- * Benchmarks common hgeometry-combinatorial-bench import: setup, test-setup -- hs-source-dirs: test -- build-tool-depends: hspec-discover:hspec-discover other-modules: build-depends: , hgeometry-combinatorial , tasty-bench >= 0.3 , tasty >= 1.4 benchmark shufflebench import: setup, hgeometry-combinatorial-bench hs-source-dirs: bench main-is: ShuffleBench.hs type: exitcode-stdio-1.0