Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/basvandijk/regional-pointers

Regional memory pointers
https://github.com/basvandijk/regional-pointers

haskell

Last synced: 10 days ago
JSON representation

Regional memory pointers

Awesome Lists containing this project

README

        

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][1] by Oleg Kiselyov and Chung-chieh Shan.

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.*`][foreign] modules of the `base` library.

[1]: http://okmij.org/ftp/Haskell/regions.html#light-weight
[regions]: http://hackage.haskell.org/package/regions
[foreign]: http://hackage.haskell.org/packages/archive/base/latest/doc/html/Foreign.html