name: regional-pointers
version: 0.5
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.4
, base-unicode-symbols >= 0.1.1 && < 0.3
, regions >= 0.8 && < 0.9
, transformers >= 0.2 && < 0.3
, monad-peel >= 0.1 && < 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
other-modules: Foreign.Ptr.Region.Internal