packages feed

classy-effects-0.1.0.1: classy-effects.cabal

cabal-version:      2.4
name:               classy-effects
version:            0.1.0.1

-- A short (one-line) description of the package.
synopsis: An interface for a handler-independent, typeclass-based effect system.

-- A longer description of the package.
description:
    This library provides definitions for CEPs (classy-effects protocols) to standardize and unify
    the definition of effects in Haskell in a backend-library-agnostic manner. It also includes
    several standard effect definitions defined in compliance with CEPs, and Template Haskell
    functions to automatically make type classes conform to CEPs as effect classes.
    .
    Please refer
    to [CEPs](https://github.com/sayo-hs/classy-effects/blob/master/CEPs/README.md) for details.
    .
    The Template Haskell functions are re-exported
    from the [classy-effects-th](https://hackage.haskell.org/package/classy-effects-th) package,
    while the fundamental definitions are re-exported
    from the [classy-effects-base](https://hackage.haskell.org/package/classy-effects-base)
    package.
    .
    __This 'classy-effects' project was abandoned due to the discovery of fundamental difficulties.__
    The reasons are as follows: <https://github.com/orgs/sayo-hs/projects/4?pane=issue&itemId=48547880>
    __As an alternative, consider using 'sayo-hs/data-effects', a GADTs-based common effect representation foundation:__
    <https://github.com/sayo-hs/data-effects>.

-- A URL where users can report bugs.
bug-reports: https://github.com/sayo-hs/classy-effects

-- The license under which the package is released.
license:            MPL-2.0
license-file:       LICENSE
author:             Yamada Ryo <ymdfield@outlook.jp>
maintainer:         Yamada Ryo <ymdfield@outlook.jp>

-- A copyright notice.
copyright: 2023 Yamada Ryo
category: Control, Effect

extra-source-files:
    ChangeLog.md
    NOTICE
    README.md

tested-with:
    GHC == 9.2.8

source-repository head
    type: git
    location: https://github.com/sayo-hs/classy-effects
    tag: v0.1.0
    subdir: classy-effects

library
    exposed-modules:
        Control.Effect.Class.Reader
        Control.Effect.Class.Writer
        Control.Effect.Class.State
        Control.Effect.Class.Except
        Control.Effect.Class.Accum
        Control.Effect.Class.Coroutine
        Control.Effect.Class.Input
        Control.Effect.Class.Output
        Control.Effect.Class.Provider

    reexported-modules:
        Control.Effect.Class,
        Control.Effect.Class.Machinery.HFunctor,
        Control.Effect.Class.Machinery.TH,
        Data.Effect.Class.TH,
        Data.Effect.Class.TH.HFunctor,

    -- Modules included in this executable, other than Main.
    other-modules:
        Prelude

    -- LANGUAGE extensions used by modules in this package.
    -- other-extensions:
    build-depends:
        base                          ^>= 4.16.4.0,
        classy-effects-base           ^>= 0.1,
        classy-effects-th             ^>= 0.1,

    hs-source-dirs:   src
    ghc-options:      -Wall
    default-language: GHC2021

    default-extensions:
        LambdaCase,
        DerivingStrategies,
        DataKinds,
        TypeFamilies,
        BlockArguments,
        FunctionalDependencies,
        RecordWildCards,
        DefaultSignatures,
        PatternSynonyms,
        TemplateHaskell,
        PartialTypeSignatures

test-suite test
    main-is: Driver.hs
    hs-source-dirs: test
    build-depends:
        classy-effects,
        base,
        tasty                         ^>= 1.4,
        tasty-hunit                   ^>= 0.10,

    type: exitcode-stdio-1.0

    build-tool-depends:
        tasty-discover:tasty-discover

    default-language: GHC2021

    default-extensions:
        LambdaCase,
        DerivingStrategies,
        DataKinds,
        TypeFamilies,
        BlockArguments,
        FunctionalDependencies,
        RecordWildCards,
        DefaultSignatures