name: regional-pointers
version: 0.7
cabal-version: >=1.6
build-type: Custom
license: BSD3
license-file: LICENSE
copyright: 2010-2011 Bas van Dijk
author: Bas van Dijk
maintainer: Bas van Dijk <v.dijk.bas@gmail.com>
homepage: https://github.com/basvandijk/regional-pointers/
bug-reports: https://github.com/basvandijk/regional-pointers/issues
stability: experimental
category: System, Monadic Regions
synopsis: Regional memory pointers
description: The library allows you to allocate memory in a region yielding a
regional pointer to it. When the region terminates all pointers
are automatically freed. Most importantly, a pointer can't be
returned from the region. So it's impossible to reference
unallocated memory.
.
The primary technique used in this package is called \"Lightweight
monadic regions\" which was invented by Oleg Kiselyov and
Chung-chieh Shan. See:
.
<http://okmij.org/ftp/Haskell/regions.html#light-weight>
.
This technique is implemented in the @regions@ package which is
re-exported from this library.
.
This library provides wrappers around all the @Ptr@ functions
from the @Foreign.*@ modules of the @base@ library.
extra-source-files: README.markdown
source-repository head
Type: git
Location: git://github.com/basvandijk/regional-pointers.git
Library
GHC-Options: -Wall
build-depends: base >= 4 && < 4.5
, base-unicode-symbols >= 0.1.1 && < 0.3
, regions >= 0.11 && < 0.12
, transformers >= 0.2 && < 0.3
exposed-modules: Foreign.Ptr.Region
Foreign.Ptr.Region.Unsafe
Foreign.Marshal.Alloc.Region
Foreign.Marshal.Array.Region
Foreign.Marshal.Utils.Region
Foreign.Storable.Region
Foreign.C.String.Region
other-modules: Foreign.Ptr.Region.Internal