|
|
|
|
|
|
| Synopsis |
|
|
|
|
| IOS monad
|
|
|
| Monad for scoped IO computations
The underlying monad must be strict here.
|
|
|
| Lift IO computations into IOS. liftIO also works.
|
|
|
| Run an IOS computation in the IO monad.
|
|
| Regioned monad
|
|
|
| Regioned variables.
A regioned variable is safe i.e. no references to
it may escape the current IOS.
| Instances | |
|
|
|
| Run a computation on regioned data
and return the result in a strict fashion.
|
|
|
| Regions a value. Synonym for return.
|
|
|
|
| Utilities
|
|
|
| Instances | |
|
|
|
|
|
| :: | | | => IOS o resource | Close it.
| | -> resource -> IOS o () | Compute with it.
| | -> forall s. Regioned (s :< o) resource -> IOS (s :< o) result | | | -> IOS o result | | | Use a resource with IOS. Like bracket.
|
|
|
|
|
|
| Create a ByteString representing the pointer and length.
No copying done, O(1).
|
|
|
| Create a copy of a regioned ByteString as a normal ByteString. O(n).
|
|
|
| Use a regioned ByteString as a pointer. O(1).
The pointer points to the region contents,
so be cafeful with it.
|
|
|
| Lookup inside a Map with a regioned ByteString.
|
|
| Produced by Haddock version 2.6.0 |