Safe Haskell | Safe-Infered |
---|

Unsafe operations. NOT part of Safe Haskell.

These are unsafe (in the normal, Haskell sense) when used with a
runPar of type `Par a -> a`. If used with a `runParIO`

that
stays in the IO monad, then they are simply dangerous.

For the purposes of Safe Haskell, any module that imports this module becomes untrustworthy.

- class ParUnsafe iv p | p -> iv where
- unsafePeek :: iv a -> p (Maybe a)
- unsafeTryPut :: iv a -> a -> p a
- unsafeParIO :: IO a -> p a

# Documentation

class ParUnsafe iv p | p -> iv where

The class of Par monads that provide unsafe functionality.

unsafePeek :: iv a -> p (Maybe a)

Peek at the current contents of an `IVar`

in a nonblocking way.

unsafeTryPut :: iv a -> a -> p a

Attempt to put a value into an `IVar`

. If successful, return the
value put. If something is already there, return it instead.

unsafeParIO :: IO a -> p a

Lift an `IO`

operation into the Par monad.