packages feed

gambler-0.0.0.0: gambler.cabal

cabal-version: 3.0

name: gambler
version: 0.0.0.0

category: Streaming
synopsis: Composable, streaming, and efficient left folds
description: This library provides strict left folds that stream in constant
    memory, and you can combine folds using @Applicative@ style to derive new
    folds that still traverse the list only once.

author: Gabriella Gonzalez
maintainer: Chris Martin, Julie Moronuki

license: BSD-3-Clause
license-file: license.txt
copyright: 2013-2016 Gabriella Gonzalez

bug-reports: https://github.com/typeclasses/gambler/issues

extra-source-files: *.md

common base
    default-language: GHC2021
    ghc-options:
        -Wall
    default-extensions:
        NoImplicitPrelude
    build-depends:
      , base ^>= 4.16 || ^>= 4.17

library
    import: base
    hs-source-dirs: source
    exposed-modules:
        Fold
        Fold.Types

        Fold.Pure
        Fold.Pure.Conversion
        Fold.Pure.Examples
        Fold.Pure.Nonempty
        Fold.Pure.Run
        Fold.Pure.Type
        Fold.Pure.Utilities

        Fold.Effectful
        Fold.Effectful.Conversion
        Fold.Effectful.Examples
        Fold.Effectful.Nonempty
        Fold.Effectful.Pure
        Fold.Effectful.Run
        Fold.Effectful.Type
        Fold.Effectful.Utilities

        Fold.Nonempty
        Fold.Nonempty.Conversion
        Fold.Nonempty.Examples
        Fold.Nonempty.Pure
        Fold.Nonempty.Run
        Fold.Nonempty.Type
        Fold.Nonempty.Utilities

    other-modules:
        Strict

test-suite test-gambler
    import: base
    hs-source-dirs: test
    type: exitcode-stdio-1.0
    main-is: Main.hs
    other-modules:
        Spec.Pure
        Spec.Nonempty
        Spec.Effectful
    ghc-options:
        -threaded
    default-extensions:
        BlockArguments
        OverloadedLists
    build-depends:
      , gambler
      , hspec ^>= 2.10

benchmark benchmark-gambler
    import: base
    hs-source-dirs: benchmark
    type: exitcode-stdio-1.0
    main-is: Main.hs
    build-depends:
      , criterion ^>= 1.6
      , gambler
    ghc-options:
        -rtsopts
        -with-rtsopts=-T