packages feed

treap-0.0.0.0: treap.cabal

cabal-version:       2.4
name:                treap
version:             0.0.0.0
synopsis:            Efficient implementation of the implicit treap data structure
description:
    Efficient implementation of the implicit treap data structure.
    Use this data structure if you want dynamic arrays with fast operations on segments.
homepage:            https://github.com/chshersh/treap
bug-reports:         https://github.com/chshersh/treap/issues
license:             MPL-2.0
license-file:        LICENSE
author:              Dmitrii Kovanikov
maintainer:          kovanikov@gmail.com
copyright:           2019 Dmitrii Kovanikov
category:            Data Structure, Tree
build-type:          Simple
extra-doc-files:     README.md
                   , CHANGELOG.md
tested-with:         GHC == 8.4.4
                   , GHC == 8.6.4

source-repository head
  type:                git
  location:            https://github.com/chshersh/treap.git

common common-options
  build-depends:       base >= 4.11 && < 4.13

  ghc-options:         -Wall
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints
                       -Wpartial-fields
                       -fhide-source-paths
                       -freverse-errors

  default-language:    Haskell2010
  default-extensions:  BangPatterns
                       ConstraintKinds
                       DataKinds
                       DeriveFunctor
                       DeriveFoldable
                       DeriveTraversable
                       DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       MultiParamTypeClasses
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       TypeApplications


library
  import:              common-options
  build-depends:       deepseq ^>= 1.4
                     , mersenne-random-pure64 ^>= 0.2.2

  hs-source-dirs:      src
  exposed-modules:     Treap
                         Treap.Measured
                         Treap.Pretty
                         Treap.Pure
                         Treap.Rand


test-suite treap-test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  other-modules:       Test.Common
                       Test.Rand
                         Test.Rand.Cuts
                         Test.Rand.Query
                         Test.Rand.Update

  build-depends:       treap
                     , hspec
                     , hspec-core


test-suite treap-doctest
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Doctest.hs

  build-depends:       doctest
                     , Glob

  ghc-options:         -threaded
  default-language:    Haskell2010