monad-control-aligned: Just like monad-control, except less efficient, and the monadic state terms are all * -> *

[ bsd3, control, library ] [ Propose Tags ]

[Skip to Readme]
Versions 0.0.0, 0.0.1, 0.0.1.1
Change log CHANGELOG
Dependencies base (>=4.5 && <5), stm (>=2.3 && <3), transformers (>=0.2 && <0.6), transformers-base (>=0.4.4 && <0.5), transformers-compat (>=0.3 && <0.7) [details]
License BSD-3-Clause
Copyright (c) 2011 Bas van Dijk, Anders Kaseorg
Author Athan Clark
Maintainer Athan Clark <athan.clark@gmail.com>
Category Control
Home page https://github.com/athanclark/monad-control#readme
Bug tracker https://github.com/athanclark/monad-control/issues
Source repo head: git clone git://github.com/athanclark/monad-control.git
Uploaded by athanclark at Mon Mar 26 09:00:03 UTC 2018
Distributions LTSHaskell:0.0.1.1, NixOS:0.0.1.1, Stackage:0.0.1.1
Downloads 469 total (13 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-26 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for monad-control-aligned-0.0.1.1

[back to package description]

monad-control-aligned

An alternative edition of monad-control that forces all state data types to:

  • be exposed at the Constraint level
  • be aligned s.t. the state is of kind * -> *, wherein the subject data type is indeed the monadic value a in m a; this opposes the StateT and WriterT definitions, whos' state types are in the form of (a, s); opposing curried type application indeed. Our edition enforces instances in the form of (,) s - thus leaving the last applied type polymorphic, achieving our goal of * -> * aligned [tm] state type.

This just allows us to use extractable-singleton to run our state type - useful for obtaining the subject data while running in a lifted context - basically exactly the same as what monad-unlift does.