freer-indexed: Freer indexed monad for type-level resource-aware effectual operations.
This package defines "freer indexed monad". It combines the ideas of freer monad and indexed (aka parameterized) monad:
It allows defining indexed monadic computations as GADTs without making them into ad-hoc indexed monads, and instead use this data type to convert them into Functor, XApplicative and XMonad instances - see Control.XApplicative and Control.XMonad in this package.
This package does not (yet) allow composing these computations.
Semantically, these computations could represent type-level state changes of some associated resources, with the first index parameter meaning initial resource state prior to the computation, and the second index - the final resource state, making each computation an edge in the graph of resource state transitions.
For XApplicative/XMonad classes all class and additional functions have similar names to standard Applicative/Monad functions, following two naming conventions:
function names are prefixed with "x" (for "indeXed") - e.g.
xpure,xreturn,xliftM2etc.operators are postfixed with ":" - e.g.
<*>:,>>=:,>=>:etc.
[Skip to Readme]
Downloads
- freer-indexed-0.1.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.7 && <5) [details] |
| License | BSD-3-Clause |
| Copyright | 2020 Evgeny Poberezkin |
| Author | Evgeny Poberezkin |
| Maintainer | evgeny@poberezkin.com |
| Category | Effects |
| Home page | https://github.com/epoberezkin/freer-indexed#readme |
| Bug tracker | https://github.com/epoberezkin/freer-indexed/issues |
| Source repo | head: git clone https://github.com/epoberezkin/freer-indexed |
| Uploaded | by epoberezkin at 2020-07-07T13:07:24Z |
| Distributions | NixOS:0.1.0.0 |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 334 total (2 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2020-07-07 [all 1 reports] |