Data.Proxy

base-4.8.2.0: Basic libraries

License | BSD-style (see the LICENSE file in the distribution)
Maintainer | libraries@haskell.org
Stability | experimental
Portability | portable
Safe Haskell | Trustworthy
Language | Haskell2010

Data.Proxy

Description

Definition of a Proxy type (poly-kinded in GHC)

Since: 4.7.0.0

Synopsis

- data Proxy t = Proxy
- asProxyTypeOf :: a -> Proxy a -> a
- data KProxy t = KProxy

# Documentation

data Proxy t

A concrete, poly-kinded proxy type

Constructors

Proxy |

Instances

Monad (Proxy *) |
Functor (Proxy *) |
Applicative (Proxy *) |
Foldable (Proxy *) |
Traversable (Proxy *) |
Bounded (Proxy k s) |
Enum (Proxy k s) |
Eq (Proxy k s) |
Data t => Data (Proxy * t) |
Ord (Proxy k s) |
Read (Proxy k s) |
Show (Proxy k s) |
Ix (Proxy k s) |
Generic (Proxy * t) |
Monoid (Proxy k s) |
type Rep (Proxy k t) |

asProxyTypeOf :: a -> Proxy a -> a

`asProxyTypeOf` is a type-restricted version of `const`. It is usually used as an infix operator, and its typing forces its first argument (which is usually overloaded) to have the same type as the tag of the second.

data KProxy t

A concrete, promotable proxy type, for use at the kind level There are no instances for this because it is intended at the kind level only

Constructors

KProxy |