packages feed

list-shuffle-1.0.0: list-shuffle.cabal

cabal-version: 2.4

author: Mitchell Rosen
bug-reports: https://github.com/awkward-squad/list-shuffle/issues
category: Data
copyright: Copyright (C) 2023 Mitchell Rosen, Travis Staton
description: List shuffling and sampling with optimal asymptotic time and space complexity using the imperative Fisher–Yates algorithm.
homepage: https://github.com/awkward-squad/list-shuffle
license: BSD-3-Clause
license-file: LICENSE
maintainer: Mitchell Rosen <mitchellwrosen@gmail.com>, Travis Staton <hello@travisstaton.com>
name: list-shuffle
stability: stable
synopsis: List shuffling and sampling
tested-with: GHC == 9.4.7, GHC == 9.6.3, GHC == 9.8.1
version: 1.0.0

extra-doc-files:
  CHANGELOG.md
  README.md

source-repository head
  type: git
  location: https://github.com/awkward-squad/list-shuffle.git

common component
  default-extensions:
    BangPatterns
    BlockArguments
    ImportQualifiedPost
    LambdaCase
    NumericUnderscores
    OverloadedStrings
    PatternSynonyms
    RankNTypes
    ScopedTypeVariables
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-all-missed-specialisations
    -Wno-implicit-prelude
    -Wno-missed-specialisations
    -Wno-missing-import-lists
    -Wno-safe
    -Wno-unsafe
  if impl(ghc >= 8.10)
    ghc-options:
      -Wno-missing-safe-haskell-mode
      -Wno-prepositive-qualified-module
  if impl(ghc >= 9.2)
    ghc-options:
      -Wno-missing-kind-signatures
  if impl(ghc >= 9.8)
    ghc-options:
      -Wno-missing-role-annotations

library
  import: component
  build-depends:
    base ^>= 4.14 || ^>= 4.15 || ^>= 4.16 || ^>= 4.17 || ^>= 4.18 || ^>= 4.19,
    primitive ^>= 0.8 || ^>= 0.9,
    random ^>= 1.2.1,
  hs-source-dirs: src
  exposed-modules: List.Shuffle

test-suite test
  import: component
  build-depends:
    base,
    hedgehog ^>= 1.4,
    list-shuffle,
    random,
  ghc-options: -rtsopts -threaded "-with-rtsopts=-N4"
  hs-source-dirs: test
  main-is: Main.hs
  type: exitcode-stdio-1.0

benchmark bench
  import: component
  build-depends:
    base,
    deepseq ^>= 1.4.6 || ^>= 1.5.0,
    list-shuffle,
    random,
    tasty-bench ^>= 0.3.5,
  ghc-options: "-with-rtsopts=-A32m -T"
  hs-source-dirs: bench
  main-is: Main.hs
  type: exitcode-stdio-1.0