packages feed

safer-file-handles-0.7: safer-file-handles.cabal

name:          safer-file-handles
version:       0.7
cabal-version: >=1.6
build-type:    Custom
license:       BSD3
license-file:  LICENSE
copyright:     2010 Bas van Dijk
author:        Bas van Dijk
maintainer:    Bas van Dijk <v.dijk.bas@gmail.com>
stability:     experimental
category:      System, Monadic Regions
synopsis:      Type-safe file handling
description:   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>
               .
               This technique is implemented in the @regions@ package which is
               re-exported from @safer-file-handles@.
               .
               See the @safer-file-handles-examples@ package for examples how
	       to use this package:
               .
               @darcs get <http://code.haskell.org/~basvandijk/code/safer-file-handles-examples>@
	       .
	       See the @safer-file-handles-bytestring/text@ package for
	       @ByteString/Text@ operations on regional file handles.

source-repository head
  Type:     darcs
  Location: http://code.haskell.org/~basvandijk/code/safer-file-handles

Library
  GHC-Options: -Wall
  build-depends: base                      >= 4     && < 4.3
               , base-unicode-symbols      >= 0.1.1 && < 0.3
               , regions                   >= 0.6   && < 0.8
               , transformers              >= 0.2   && < 0.3
               , MonadCatchIO-transformers >= 0.2   && < 0.3
               , explicit-iomodes          >= 0.5   && < 0.6
               , pathtype                  >= 0.0.1 && < 0.6
  exposed-modules: System.IO.SaferFileHandles
                   System.IO.SaferFileHandles.Unsafe
  other-modules:   System.IO.SaferFileHandles.Internal