packages feed

mutable-fenwick-0.1.0.0: mutable-fenwick.cabal

cabal-version:      2.4
name:               mutable-fenwick
version:            0.1.0.0

synopsis: Mutable Fenwick trees
description:
    This package provides an implementation of mutable
    [Fenwick trees](https://en.wikipedia.org/wiki/Fenwick_tree).
    .
    It is maximally generic. Each operation of Fenwick tree is implemented using a subset of constraints
    from @Semigroup@, @Monoid@, or @Commutative@, chosen based on the nature of each
    operation.
    .
    It is fast and efficient. With @ArrayC@ and @VectorC@ from this package, it is possible to use
    unboxed arrays and vectors for newtypes that implement a custom algebra (e.g. @Sum@, @Product@ or
    @Xor@). An implementation using this library can be as fast as a C/C++ implementation.

homepage: https://github.com/ParsaAlizadeh/fenwick-tree
bug-reports: https://github.com/ParsaAlizadeh/fenwick-tree/issues

license:            MIT
license-file:       LICENSE
author:             Parsa Alizadeh
maintainer:         parsa.alizadeh1@gmail.com
copyright:          (c) Parsa Alizade, 2025
category:           Data
extra-source-files:
    README.md
    CHANGELOG.md

tested-with: GHC == 9.2.8 || == 9.4.8

source-repository head
    type:     git
    location: https://github.com/ParsaAlizadeh/fenwick-tree.git

library
    hs-source-dirs:   src
    default-language: Haskell2010
    exposed-modules:
        Data.Array.ArrayC,
        Data.Vector.VectorC,
        Data.Fenwick.Array,
        Data.Fenwick.Vector

    -- Modules included in this library but not exported.
    -- other-modules:

    build-depends:
        base                   >= 4.17.2 && < 4.18,
        array                  >= 0.5.4 && < 0.6,
        commutative-semigroups >= 0.2.0 && < 0.3,
        monoid-subclasses      >= 1.2.6 && < 1.3,
        vector                 >= 0.13.1 && < 0.14,


test-suite test-fenwick
    type: exitcode-stdio-1.0
    hs-source-dirs: tests
    default-language: Haskell2010
    build-depends: 
        base,
        hspec,
        mutable-fenwick,
        array,
        vector,
    main-is: FenwickTest.hs