cabal-version: 3.4 name: scoped-codensity version: 0.1.0.0 synopsis: CPS resource allocation but as a Monad and completely safe description: This implements a Monad just like `Codensity` from the `kan-extensions` package, but it uses a skolem trap just like the `ST s` monad to track resources allocated in the monad. The package wraps around different "scoped" resources that cannot escape a `scoped` block and are safely deallocated when the block is left. homepage: https://git.mangoiv.com/mangoiv/scoped-codensity license: AGPL-3.0-or-later license-file: LICENSE author: mangoiv maintainer: contact@mangoiv.com category: Control build-type: Simple extra-doc-files: CHANGELOG.md README.md common common-all ghc-options: -Wall default-extensions: BlockArguments DeriveFunctor DerivingStrategies FlexibleContexts FlexibleInstances FunctionalDependencies ImportQualifiedPost NoStarIsType PolyKinds RankNTypes RoleAnnotations ScopedTypeVariables StandaloneKindSignatures TypeApplications TypeOperators UnliftedNewtypes library import: common-all exposed-modules: Control.Monad.Scoped Control.Monad.Scoped.Async Control.Monad.Scoped.Handle Control.Monad.Scoped.Internal Control.Monad.Scoped.Temp build-depends: , async <2.3 , base <5 , temporary <1.4 , text <2.2 , transformers <0.7 , unliftio <0.3 hs-source-dirs: src default-language: Haskell2010 test-suite scoped-codensity-test import: common-all default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs build-depends: , base , hspec , scoped-codensity , transformers , unliftio