Commit graph

3 commits

Author SHA1 Message Date
PHO / phonohawk
94c737ae9b Upstream update to safer-file-handles-0.10 2011-05-10 23:38:03 +00:00
PHO / phonohawk
b7dc281921 Upstream update to safer-file-handles-0.9 2010-12-30 08:52:32 +00:00
PHO / phonohawk
570df4a00e Import hs-safer-file-handles-0.8 as wip/hs-safer-file-handles.
This package adds three safety features on top of the regular
System.IO file handles and operations:

* Regional file handles. Files must be opened in a region. When the
  region terminates all opened files are automatically closed. The
  main advantage of regions is that the handles to the opened files
  can not be returned from the region which ensures no I/O with closed
  files is possible.

* Explicit IOModes. The regional file handles are parameterized by the
  IOMode in which they were opened. All operations on handles
  explicitly specify the needed IOMode. This way it is impossible to
  read from a write-only handle or write to a read-only handle for
  example.

* Type-safe filepath creation and manipulation using the pathtype
  package.

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
2010-11-02 17:10:59 +00:00