| Copyright | (c) Tim Watson 2013 - 2017 |
|---|---|
| License | BSD3 (see the file LICENSE) |
| Maintainer | Tim Watson <watson.timothy@gmail.com> |
| Stability | experimental |
| Portability | non-portable (requires concurrency) |
| Safe Haskell | None |
| Language | Haskell98 |
Control.Distributed.Process.Extras.UnsafePrimitives
Description
- Unsafe Messaging Primitives Using NFData
This module mirrors Control.Distributed.Process.UnsafePrimitives, but
attempts to provide a bit more safety by forcing evaluation before sending.
This is handled using NFData, by means of the NFSerializable type class.
Note that we still cannot guarantee that both the NFData and Binary
instances will evaluate your data the same way, therefore these primitives
still have certain risks and potential side effects. Use with caution.
- send :: NFSerializable m => ProcessId -> m -> Process ()
- nsend :: NFSerializable a => String -> a -> Process ()
- sendToAddr :: (Addressable a, NFSerializable m) => a -> m -> Process ()
- sendChan :: NFSerializable m => SendPort m -> m -> Process ()
- wrapMessage :: NFSerializable a => a -> Message
Documentation
sendToAddr :: (Addressable a, NFSerializable m) => a -> m -> Process () Source #
wrapMessage :: NFSerializable a => a -> Message Source #
Create an unencoded Message for any Serializable type.