homepage: https://github.com/chessai/st2.git
changelog-type: markdown
hash: 987aa23167bf9a6213809ac277e56f6e3f4fd3778ffc515454752d7fb7f96386
test-bench-deps: {}
maintainer: chessai1996@gmail.com
synopsis: shared heap regions between local mutable state threads
changelog: ! '# Revision history for st2


  ## 0.1.0.0 -- YYYY-mm-dd


  * First version. Released on an unsuspecting world.

'
basic-deps:
  base: ! '>=4.9 && <4.13'
  ghc-prim: -any
  gdp: -any
  primitive: -any
all-versions:
- '0.1.0.0'
author: chessai
latest: '0.1.0.0'
description-type: haddock
description: ! '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.'
license-name: BSD3

Update from Hackage at 2018-07-23T19:59:07Z
Update from Hackage at 2018-07-23T19:59:07Z
