packages feed

yield-0.0.0.0: yield.cabal

cabal-version:      1.18
name:               yield
version:            0.0.0.0
license:            MIT
license-file:       LICENSE
maintainer:         Freckle Education
homepage:           https://github.com/freckle/yield#readme
bug-reports:        https://github.com/freckle/yield/issues
synopsis:           YieldT monad transformer
description:
    This package defines a class @MonadYield a@ for monads that can emit values
    values of type @a@ while they run, and a monad transformer @YieldT a@ which
    implements this class such that the emitted values can be captured in a
    streaming manner.
    .
    This is an amalgamation of concepts from @pipes@, @conduit@, @foldl@, and
    @kan-extensions@, combined into a small self-contained package.

category:           Streaming
build-type:         Simple
extra-source-files: package.yaml
extra-doc-files:
    README.md
    CHANGELOG.md

source-repository head
    type:     git
    location: https://github.com/freckle/yield

library
    exposed-modules:
        Control.Monad.Trans.Yield
        Control.Monad.Yield
        Control.Monad.Yield.Aggregation
        Control.Monad.Yield.Class

    hs-source-dirs:     library
    other-modules:      Control.Monad.Trans.Codensity
    default-language:   GHC2021
    default-extensions:
        BlockArguments DataKinds DeriveAnyClass DerivingVia
        DerivingStrategies FunctionalDependencies GADTs LambdaCase
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RecordWildCards TypeFamilies

    ghc-options:
        -Weverything -Wno-missing-kind-signatures
        -Wno-all-missed-specialisations -Wno-missed-specialisations
        -Wno-missing-exported-signatures -Wno-missing-import-lists
        -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode
        -Wno-monomorphism-restriction -Wno-prepositive-qualified-module
        -Wno-safe -Wno-unsafe

    build-depends:
        base >=4.16.4.0 && <5,
        containers >=0.6.5.1,
        mtl >=2.2.2,
        transformers >=0.5.6.2

    if impl(ghc >=9.8)
        ghc-options:
            -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures

test-suite readme
    type:               exitcode-stdio-1.0
    main-is:            README.lhs
    other-modules:      Paths_yield
    default-language:   GHC2021
    default-extensions:
        BlockArguments DataKinds DeriveAnyClass DerivingVia
        DerivingStrategies FunctionalDependencies GADTs LambdaCase
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RecordWildCards TypeFamilies

    ghc-options:
        -Weverything -Wno-missing-kind-signatures
        -Wno-all-missed-specialisations -Wno-missed-specialisations
        -Wno-missing-exported-signatures -Wno-missing-import-lists
        -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode
        -Wno-monomorphism-restriction -Wno-prepositive-qualified-module
        -Wno-safe -Wno-unsafe -pgmL markdown-unlit

    build-depends:
        base >=4.16.4.0 && <5,
        hspec >=2.9.7,
        markdown-unlit >=0.5.1,
        yield

    if impl(ghc >=9.8)
        ghc-options:
            -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures

test-suite spec
    type:               exitcode-stdio-1.0
    main-is:            Spec.hs
    hs-source-dirs:     tests
    other-modules:
        YieldSpec
        Paths_yield

    default-language:   GHC2021
    default-extensions:
        BlockArguments DataKinds DeriveAnyClass DerivingVia
        DerivingStrategies FunctionalDependencies GADTs LambdaCase
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RecordWildCards TypeFamilies

    ghc-options:
        -Weverything -Wno-missing-kind-signatures
        -Wno-all-missed-specialisations -Wno-missed-specialisations
        -Wno-missing-exported-signatures -Wno-missing-import-lists
        -Wno-missing-local-signatures -Wno-missing-safe-haskell-mode
        -Wno-monomorphism-restriction -Wno-prepositive-qualified-module
        -Wno-safe -Wno-unsafe -threaded -rtsopts -with-rtsopts=-N

    build-depends:
        base >=4.16.4.0 && <5,
        hspec >=2.9.7,
        mtl >=2.2.2,
        yield

    if impl(ghc >=9.8)
        ghc-options:
            -Wno-missing-role-annotations -Wno-missing-poly-kind-signatures