constraints-0.4.1.3: Constraint manipulation

Copyright(C) 2011-2013 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellUnsafe
LanguageHaskell2010

Data.Constraint.Unsafe

Contents

Description

 

Synopsis

Documentation

unsafeCoerceConstraint :: a :- b Source

Coerce a dictionary unsafely from one type to another

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

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

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

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 a Source

Construct an Applicative instance from a Monad

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

Construct an Alternative instance from a MonadPlus