Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/basvandijk/regional-pointers
- Owner: basvandijk
- License: other
- Created: 2011-04-17T18:04:36.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2014-06-16T08:05:01.000Z (over 10 years ago)
- Last Synced: 2024-05-08T20:12:12.807Z (6 months ago)
- Topics: haskell
- Language: Haskell
- Homepage:
- Size: 209 KB
- Stars: 6
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
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