| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Control.Process.Handle
Documentation
Haskell defines operations to read and write characters from and to files,
represented by values of type Handle. Each value of this type is a
handle: a record used by the Haskell run-time system to manage I/O
with file system objects. A handle has at least the following properties:
- whether it manages input or output or both;
- whether it is open, closed or semi-closed;
- whether the object is seekable;
- whether buffering is disabled, or enabled on a line or block basis;
- a buffer (whose length may be zero).
Most handles will also have a current I/O position indicating where the next
input or output operation will occur. A handle is readable if it
manages only input or both input and output; likewise, it is writable if
it manages only output or both input and output. A handle is open when
first allocated.
Once it is closed it can no longer be used for either input or output,
though an implementation cannot re-use its storage while references
remain to it. Handles are in the Show and Eq classes. The string
produced by showing a handle is system dependent; it should include
enough information to identify the handle for debugging. A handle is
equal according to == only to itself; no attempt
is made to compare the internal state of different handles for equality.
Instances
| Show Handle | Since: base-4.1.0.0 |
| AsHandle Handle Source # |
|
| GetHandle Handle Source # |
|
| HasHandle Handle Source # |
|
| ReviewHandle Handle Source # |
|
Defined in Control.Process.Handle | |
| Eq Handle | Since: base-4.1.0.0 |
class GetHandle a where Source #
Type class for values that can be viewed as a Handle.
>>>view getHandle stdin{handle: <stdin>}
class GetHandle a => HasHandle a where Source #
Type class for values with a lens into a Handle.
>>>view handle stdin{handle: <stdin>}
class ReviewHandle a where Source #
Type class for values that can be constructed from a Handle.
>>>review reviewHandle stdin :: Handle{handle: <stdin>}
Methods
reviewHandle :: Review a Handle Source #
Instances
| ReviewHandle Handle Source # |
|
Defined in Control.Process.Handle | |
| ReviewHandle StdStream Source # |
|
Defined in Control.Process.Handle | |
class ReviewHandle a => AsHandle a where Source #
Type class for values with a prism into a Handle.
>>>preview _Handle stdinJust {handle: <stdin>}