-
Notifications
You must be signed in to change notification settings - Fork 4
/
safer-file-handles.cabal
73 lines (70 loc) · 3.19 KB
/
safer-file-handles.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: safer-file-handles
version: 0.12
cabal-version: >=1.6
build-type: Custom
license: BSD3
license-file: LICENSE
copyright: 2010-2011 Bas van Dijk
author: Bas van Dijk
maintainer: Bas van Dijk <v.dijk.bas@gmail.com>
homepage: https://github.com/basvandijk/safer-file-handles/
bug-reports: https://github.com/basvandijk/safer-file-handles/issues
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:
.
@git clone <https://github.com/basvandijk/safer-file-handles-examples>@
.
See the @safer-file-handles-bytestring/text@ package for
@ByteString/Text@ operations on regional file handles.
extra-source-files: README.markdown, NEWS
source-repository head
Type: git
Location: git://github.com/basvandijk/safer-file-handles.git
Library
GHC-Options: -Wall
build-depends: base >= 4.7 && < 4.8
, base-unicode-symbols >= 0.1.1 && < 0.3
, regions >= 0.12 && < 0.13
, transformers-base >= 0.4 && < 0.5
, explicit-iomodes >= 0.5 && < 0.7
, pathtype >= 0.0.1 && < 0.6
, regional-pointers >= 0.8 && < 0.9
exposed-modules: System.IO.SaferFileHandles
System.IO.SaferFileHandles.Unsafe
other-modules: System.IO.SaferFileHandles.Internal
other-extensions: CPP
RankNTypes
FlexibleContexts
KindSignatures
NoImplicitPrelude
TypeOperators