packages feed

regional-pointers-0.7: regional-pointers.cabal

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