packages feed

tensort-0.2.0.2: tensort.cabal

cabal-version:      3.4
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.

-- Initial package description 'tensort' generated by
-- 'cabal init'. For further documentation, see:
--   http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name:               tensort

-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary:     +-+------- breaking API changes
--                  | | +----- non-breaking API additions
--                  | | | +--- code changes with no API change
version:            0.2.0.2

tested-with:        GHC==9.8.2, 
                    GHC==9.6.4, 
                    GHC==9.4.8,
                    GHC==9.2.8,
                    GHC==9.2.1,
                    GHC==9.0.2,
                    GHC==8.10.7,
                    GHC==8.8.4,
                    GHC==8.6.5,
                    GHC==8.4.4,
                    GHC==8.2.2,
                    GHC==8.0.2,
                    GHC==7.10.3,
                    GHC==7.6.3,
                    GHC==7.4.2,
                    GHC==7.0.4,
                    GHC==7.0.1,

-- A short (one-line) description of the package.
synopsis:           Tunable sorting for responsive robustness and beyond!

-- A longer description of the package.
description:        A tunable tensor-based structure for sorting algorithms 
                    along with various sample configurations. Birthed from an 
                    exploration of robustness in algorithms for sorting 
                    integers, inspired by 
                    [Beyond Efficiency](https://www.cs.unm.edu/~ackley/be-201301131528.pdf) 
                    by David H. Ackley and 
                    [Beyond Efficiency by Dave Ackley](https://futureofcoding.org/episodes/070) 
                    by Future of Coding.

homepage: https://github.com/kaBeech/tensort

-- The license under which the package is released.
license:            MIT

-- The file containing the license text.
license-file:       LICENSE

-- The package author(s).
author:             Kyle Beechly

-- An email address to which users can send suggestions, bug reports, and patches.
maintainer:         contact@kaBeech.com

-- A copyright notice.
copyright:          2024 Kyle Beechly

category:           Math,
                    Data

build-type:         Simple

-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:    README.md,
                    CHANGELOG.md

-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:

source-repository head
    type:           git
    location:       https://github.com/kaBeech/tensort

common warnings
    ghc-options: -Wall

library
    -- Import common warning flags.
    import:           warnings

    -- Modules exported by the library.
    exposed-modules:  Data.Tensort,
                      Data.Tensort.Tensort,
                      Data.Tensort.Robustsort,
                      Data.Tensort.Utils.Types,
                      Data.Tensort.Subalgorithms.Bubblesort,
                      Data.Tensort.Subalgorithms.Exchangesort,
                      Data.Tensort.Subalgorithms.Permutationsort,
                      Data.Tensort.Subalgorithms.Bogosort,
                      Data.Tensort.Subalgorithms.Supersort,
                      Data.Tensort.Subalgorithms.Magicsort,
                      Data.Tensort.OtherSorts.Mergesort,
                      Data.Tensort.OtherSorts.Quicksort,
                      Data.Tensort.Utils.RandomizeList,
                      Data.Tensort.Utils.Check,

    -- Modules included in this library but not exported.
    other-modules:    Data.Tensort.Utils.Split,
                      Data.Tensort.Utils.ComparisonFunctions,
                      Data.Tensort.Utils.Convert,
                      Data.Tensort.Utils.Compose,
                      Data.Tensort.Utils.Reduce,
                      Data.Tensort.Utils.Render,

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- Other library packages from which modules are imported.
    build-depends:    base >=4.3.0.0 && <= 4.20.0.1,
                      mtl >= 2.2.2  && < 2.4,
                      random >= 1.0.0.3 && < 1.3,
                      random-shuffle >= 0.0.4 && < 0.1,

    -- Directories containing source files.
    hs-source-dirs:   src

    -- Base language which the package is written in.
    default-language: Haskell2010

executable tensort
    -- Import common warning flags.
    import:           warnings

    -- .hs or .lhs file containing the Main module.
    main-is:          Main.hs

    -- Modules included in this executable, other than Main.
    -- other-modules:

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- Other library packages from which modules are imported.
    build-depends:
        base,
        tensort,
        time >= 1.2.0.3 && < 1.15,

    -- Directories containing source files.
    hs-source-dirs:   app

    -- Base language which the package is written in.
    default-language: Haskell2010

test-suite tensort-test
    -- Import common warning flags.
    import:           warnings

    -- Base language which the package is written in.
    default-language: Haskell2010

    -- Modules included in this executable, other than Main.
    other-modules:    TestCheck,
                      SortSpec,
                      

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:

    -- The interface type and version of the test suite.
    type:             exitcode-stdio-1.0

    -- Directories containing source files.
    hs-source-dirs:   test

    -- The entrypoint to the test suite.
    main-is:          Main.hs

    -- Test dependencies.
    build-depends:
        base,
        tensort,
        mtl,
        QuickCheck >= 2.14.3 && < 2.16,