Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | Edward Kmett <ekmett@gmail.com> |

Safe Haskell | Unsafe |

- unsafeCoerceConstraint :: a :- b
- unsafeDerive :: Newtype n o => (o -> n) -> t o :- t n
- unsafeUnderive :: Newtype n o => (o -> n) -> t n :- t o
- unsafeApplicative :: forall m a. Monad m => (Applicative m => m a) -> m a
- unsafeAlternative :: forall m a. MonadPlus m => (Alternative m => m a) -> m a

# Documentation

unsafeCoerceConstraint :: a :- bSource

Coerce a dictionary unsafely from one type to another

unsafeDerive :: Newtype n o => (o -> n) -> t o :- t nSource

Coerce a dictionary unsafely from one type to a newtype of that type

unsafeUnderive :: Newtype n o => (o -> n) -> t n :- t oSource

Coerce a dictionary unsafely from a newtype of a type to the base type

# Sugar

unsafeApplicative :: forall m a. Monad m => (Applicative m => m a) -> m aSource

Construct an Applicative instance from a Monad

unsafeAlternative :: forall m a. MonadPlus m => (Alternative m => m a) -> m aSource

Construct an Alternative instance from a MonadPlus