The regional-pointers package
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.
Properties
| Versions | 0.1, 0.1.0.1, 0.1.0.2, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.0.1, 0.7 |
|---|---|
| Dependencies | base (≥4 & <4.5), base-unicode-symbols (≥0.1.1 & <0.3), regions (0.11.*), transformers (0.2.*) |
| License | BSD3 |
| Copyright | 2010-2011 Bas van Dijk |
| Author | Bas van Dijk |
| Maintainer | Bas van Dijk <v.dijk.bas@gmail.com> |
| Stability | experimental |
| Category | System, Monadic Regions |
| Home page | https://github.com/basvandijk/regional-pointers/ |
| Bug tracker | https://github.com/basvandijk/regional-pointers/issues |
| Source repository | git clone git://github.com/basvandijk/regional-pointers.git |
| Upload date | Fri Sep 23 10:10:33 UTC 2011 |
| Uploaded by | BasVanDijk |
| Built on | ghc-7.2 |
Modules
- Foreign
Downloads
- regional-pointers-0.7.tar.gz (Cabal source package)
- package description (included in the package)