packages feed

monoidmap-examples-0.1.0.0: monoidmap-examples.cabal

cabal-version:  3.0
name:           monoidmap-examples
version:        0.1.0.0
homepage:       https://github.com/jonathanknowles/monoidmap/tree/HEAD/packages/monoidmap-examples
bug-reports:    https://github.com/jonathanknowles/monoidmap/issues
license:        Apache-2.0
license-file:   LICENSE
author:         Jonathan Knowles
maintainer:     mail@jonathanknowles.net
copyright:      2022–2026 Jonathan Knowles
category:       Data Structures
synopsis:       Examples for monoidmap.
description:    Examples for the monoidmap package.

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

common dependency-base
    build-depends:base                          >= 4.14.3.0   && < 4.23
common dependency-containers
    build-depends:containers                    >= 0.6.5.1    && < 0.9
common dependency-deepseq
    build-depends:deepseq                       >= 1.4.4.0    && < 1.6
common dependency-hspec
    build-depends:hspec                         >= 2.10.9     && < 2.12
common dependency-hspec-quickcheck-classes
    build-depends:hspec-quickcheck-classes      >= 0.0.0.0    && < 0.1
common dependency-monoid-subclasses
    build-depends:monoid-subclasses             >= 1.2.3      && < 1.3
common dependency-monoidmap
    build-depends:monoidmap                     >= 0.1.0.0    && < 0.2
common dependency-QuickCheck
    build-depends:QuickCheck                    >= 2.14.2     && < 2.20
common dependency-quickcheck-classes
    build-depends:quickcheck-classes            >= 0.6.5.0    && < 0.7
common dependency-tasty-bench
    build-depends:tasty-bench                   >= 0.3.2      && < 0.6
common dependency-text
    build-depends:text                          >= 1.2.4.1    && < 2.2

common extensions
    default-extensions:
        BangPatterns
        ConstraintKinds
        DerivingStrategies
        DerivingVia
        FlexibleContexts
        FlexibleInstances
        GeneralizedNewtypeDeriving
        LambdaCase
        MultiParamTypeClasses
        NoImplicitPrelude
        NumericUnderscores
        ScopedTypeVariables
        TupleSections
        TypeApplications
        TypeFamilies
        TypeOperators
        ViewPatterns

source-repository head
    type: git
    location: https://github.com/jonathanknowles/monoidmap
    subdir: packages/monoidmap-examples

library
    import:
      , dependency-base
      , dependency-containers
      , dependency-deepseq
      , dependency-monoid-subclasses
      , dependency-monoidmap
      , extensions
    hs-source-dirs:
        components/monoidmap-examples
    exposed-modules:
        Data.MonoidMap.Examples.MultiMap
        Data.MonoidMap.Examples.MultiMap.Class
        Data.MonoidMap.Examples.MultiMap.Instances.MultiMap1
        Data.MonoidMap.Examples.MultiMap.Instances.MultiMap2
        Data.MonoidMap.Examples.MultiMap.Instances.MultiMap3
        Data.MonoidMap.Examples.MultiMap.Instances.MultiMap4
        Data.MonoidMap.Examples.MultiSet
        Data.MonoidMap.Examples.NestedMonoidMap
        Data.MonoidMap.Examples.RecoveredMap
        Data.MonoidMap.Examples.Set.NonEmpty
    default-language:
        Haskell2010

benchmark monoidmap-examples-benchmark
    import:
      , dependency-base
      , dependency-containers
      , dependency-deepseq
      , dependency-tasty-bench
      , extensions
    build-depends:
      , monoidmap-examples
    default-language:
        Haskell2010
    type:
        exitcode-stdio-1.0
    hs-source-dirs:
        components/monoidmap-examples-benchmark
    main-is:
        Main.hs
    -- Report allocation and memory statistics for each benchmark:
    ghc-options:
        "-with-rtsopts=-T"

test-suite monoidmap-examples-test
    import:
      , dependency-base
      , dependency-containers
      , dependency-hspec
      , dependency-hspec-quickcheck-classes
      , dependency-QuickCheck
      , dependency-quickcheck-classes
      , dependency-text
      , extensions
    build-depends:
      , monoidmap-examples
    ghc-options:
        -threaded -with-rtsopts=-N
    main-is:
        Spec.hs
    hs-source-dirs:
        components/monoidmap-examples-test
    other-modules:
        Data.MonoidMap.Examples.MultiMapSpec
        Data.MonoidMap.Examples.RecoveredMapSpec
        SpecHook
        Test.Common
    type:
        exitcode-stdio-1.0
    default-language:
        Haskell2010
    build-tool-depends:
        hspec-discover:hspec-discover ==2.*