Copyright | (c) 2021 Xy Ren |
---|---|
License | BSD3 |
Maintainer | xy.r@outlook.com |
Stability | unstable |
Portability | non-portable (GHC only) |
Safe Haskell | None |
Language | Haskell2010 |
This module contains common definitions for the cleff
internals.
This is an internal module and its API may change even between minor versions. Therefore you should be extra careful if you're to depend on this module.
Basic types
newtype HandlerPtr (e :: Effect) Source #
A pointer to an effect handler.
The Any
type
type family Any :: k where ... #
The type constructor Any
is type to which you can unsafely coerce any
lifted type, and back. More concretely, for a lifted type t
and
value x :: t
, -- unsafeCoerce (unsafeCoerce x :: Any) :: t
is equivalent
to x
.
pattern Any :: forall a. a -> Any Source #
A pattern synonym for coercing values to and from Any
. This is not any less unsafe but prevents possivle
misuses.