packages feed

st2-0.1.1: st2.cabal

cabal-version: 2.2
name:
  st2
version:
  0.1.1
synopsis:
  shared heap regions between local mutable state threads
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.
homepage:
  https://github.com/chessai/st2.git
license:
  BSD-3-Clause
license-file:
  LICENSE
author:
  chessai
maintainer:
  chessai1996@gmail.com
copyright:
  copyright (c) 2018 chessai, copyright (c) 2018 Matt Noonan
category:
  Data
build-type:
  Simple
extra-source-files:
  ChangeLog.md

library
  exposed-modules:
    Control.Monad.ST2
  build-depends:
      base >= 4.9 && < 5
    , gdp >= 0.0.0.1 && < 0.1
    , primitive >= 0.6.4 && < 0.8
  hs-source-dirs:
    src
  default-language:
    Haskell2010

source-repository head
  type: git
  location: git://github.com/chessai/st2.git