name: regional-pointers
version: 0.1
cabal-version: >=1.6
build-type: Custom
license: BSD3
license-file: LICENSE
copyright: 2010 Bas van Dijk
author: Bas van Dijk
maintainer: Bas van Dijk <v.dijk.bas@gmail.com>
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 from @base@.
source-repository head
Type: darcs
Location: http://code.haskell.org/~basvandijk/code/regional-pointers
Library
GHC-Options: -Wall
build-depends: base >= 4 && < 4.3
, base-unicode-symbols >= 0.1.1 && < 0.2
, regions == 0.3.*
, transformers >= 0.1.4 && < 0.2
, MonadCatchIO-transformers == 0.0.2.*
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
-- TODO: Foreign.StablePtr.Region
-- TODO: Foreign.Marshal.Pool.Region
other-modules: Foreign.Ptr.Region.Internal