heftia/heftia.cabal

129 lines
3.3 KiB
Plaintext
Raw Normal View History

2023-08-25 07:23:49 +03:00
cabal-version: 2.4
2023-08-28 10:02:00 +03:00
name: heftia
2023-08-25 07:23:49 +03:00
version: 0.1.0.0
-- A short (one-line) description of the package.
2023-08-27 16:32:48 +03:00
synopsis: Higher-order version of Freer.
2023-08-25 07:23:49 +03:00
-- A longer description of the package.
2023-08-27 16:32:48 +03:00
description:
2023-08-28 10:02:00 +03:00
Heftia, a composition of hefty trees and co-Yoneda, is a higher-order
2023-08-27 16:32:48 +03:00
effects version of Freer.
.
The paper
.
* Casper Bach Poulsen and Cas van der Rest. 2023. Hefty Algebras: Modular
Elaboration of Higher-Order Algebraic Effects. Proc. ACM Program. Lang. 7,
POPL, Article 62 (January 2023), 31 pages. <https://doi.org/10.1145/3571255>
.
inspires this library.
Hefty trees, proposed by the above paper, are extensions of free monads,
allowing for a straightforward treatment of higher-order effects.
.
2023-08-28 10:02:00 +03:00
This library provides Heftia monads and Freer monads, encoded into data
2023-08-27 16:32:48 +03:00
types in several ways to enable tuning in pursuit of high performance.
.
2023-08-25 07:23:49 +03:00
-- A URL where users can report bugs.
2023-08-28 10:02:00 +03:00
bug-reports: https://github.com/sayo-hs/heftia
2023-08-25 07:23:49 +03:00
-- The license under which the package is released.
license: LGPL-3.0-or-later
license-file: LICENSE
author: Yamada Ryo <ymdfield@outlook.jp>
maintainer: Yamada Ryo <ymdfield@outlook.jp>
-- A copyright notice.
2023-08-27 16:32:48 +03:00
copyright:
2023 Casper Bach Poulsen and Cas van der Rest,
2023 Yamada Ryo
2023-08-25 07:23:49 +03:00
category: Control, Monads
extra-source-files:
ChangeLog.md
README.md
CONTRIBUTORS
tested-with:
GHC == 9.2.8
source-repository head
type: git
2023-08-28 10:02:00 +03:00
location: https://github.com/sayo-hs/heftia
2023-08-25 07:23:49 +03:00
library
exposed-modules:
2023-08-27 16:32:48 +03:00
Control.Hefty
2023-08-28 10:02:00 +03:00
Control.Heftia
Control.Heftia.Final
Control.Heftia.Final.Naked
Control.Heftia.Trans
Control.Heftia.Trans.Final
Control.Heftia.Trans.Final.Naked
2023-08-27 16:32:48 +03:00
Control.Free
2023-08-28 09:54:56 +03:00
Control.Freer
Control.Freer.Trans
2023-08-28 10:02:00 +03:00
Control.Monad.Trans.Heftia
Control.Monad.Trans.Heftia.Tree
2023-08-27 16:32:48 +03:00
Control.Monad.Trans.Hefty
2023-08-28 09:54:56 +03:00
Control.Monad.Trans.Freer.Tree
2023-08-27 16:32:48 +03:00
Data.Hefty.Sum
Data.Hefty.Union
Data.Free.Sum
Data.Free.Union
2023-08-25 07:23:49 +03:00
-- Modules included in this executable, other than Main.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
build-depends:
base ^>= 4.16.4.0,
2023-08-27 16:32:48 +03:00
mtl,
free,
natural-transformation,
kan-extensions,
constraints,
transformers-base,
2023-08-25 07:23:49 +03:00
hs-source-dirs: src
ghc-options: -Wall
default-language: GHC2021
default-extensions:
LambdaCase,
DerivingStrategies,
DataKinds,
TypeFamilies,
BlockArguments,
FunctionalDependencies,
RecordWildCards,
DefaultSignatures
2023-08-25 07:23:49 +03:00
test-suite test
main-is: Driver.hs
hs-source-dirs: test
build-depends:
hefty,
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