st2: shared heap regions between local mutable state threads
This library implements the ST2 monad, a type using GDP (ghosts of departed proofs)
to define shared regions of memory between local mutable state threads. This allows
us to define a region of the heap in more minute contours, with each state thread
having explicit access to regions in memory. This is achieved using the function runST2
,
which in effects lets the user run a computation that makes use of two partially-overlapping
memory regions. Within that computation, the user can run sub-computations bound to one or
the other memory region. Furthermore, a sub-computation can move any variable that it owns
into the common overlap via share
.
An example is shown in the documentation, where one sub-computation creates two cells: one private, and the other shared. A second sub-computation has unconstrained access to the shared cell. Yet even though the private reference is also in scope during the second sub-computation, any attempts to access it there will fail to compile.
Downloads
- st2-0.1.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1 |
---|---|
Change log | ChangeLog.md |
Dependencies | base (>=4.9 && <5), gdp (>=0.0.0.1 && <0.1), primitive (>=0.6.4 && <0.8) [details] |
License | BSD-3-Clause |
Copyright | copyright (c) 2018 chessai, copyright (c) 2018 Matt Noonan |
Author | chessai |
Maintainer | chessai1996@gmail.com |
Category | Data |
Home page | https://github.com/chessai/st2.git |
Source repo | head: git clone git://github.com/chessai/st2.git |
Uploaded | by chessai at 2022-02-12T18:23:53Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 1741 total (4 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2022-02-12 [all 1 reports] |