Copyright | (C) 2016 Ryan Scott |
---|---|

License | BSD-style (see the file LICENSE) |

Maintainer | Ryan Scott |

Stability | Provisional |

Portability | GHC |

Safe Haskell | Safe |

Language | Haskell2010 |

- proxied :: (a -> b) -> proxy a -> b
- unproxied :: (Proxy a -> b) -> a -> b
- module Data.Proxy
- bitSizeProxied :: Bits a => proxy a -> Int
- isSignedProxied :: Bits a => proxy a -> Bool
- bitSizeMaybeProxied :: Bits a => proxy a -> Maybe Int
- finiteBitSizeProxied :: FiniteBits a => proxy a -> Int
- dataTypeOfProxied :: Data a => proxy a -> DataType
- typeOfProxied :: Typeable a => proxy a -> TypeRep
- sizeOfProxied :: Storable a => proxy a -> Int
- alignmentProxied :: Storable a => proxy a -> Int
- datatypeNameProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> [Char]
- moduleNameProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> [Char]
- isNewtypeProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> Bool
- conNameProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> [Char]
- conFixityProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> Fixity
- conIsRecordProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> Bool
- selNameProxied :: Selector s => proxy ((t :: * -> (* -> *) -> * -> *) s f a) -> [Char]
- floatRadixProxied :: RealFloat a => proxy a -> Integer
- floatDigitsProxied :: RealFloat a => proxy a -> Int
- floatRangeProxied :: RealFloat a => proxy a -> (Int, Int)
- parseFormatProxied :: PrintfArg a => proxy a -> ModifierParser

`proxied`

and `unproxied`

proxied :: (a -> b) -> proxy a -> b Source

Converts a constant function to one that takes a `proxy`

argument.

*Since: 0.1*

unproxied :: (Proxy a -> b) -> a -> b Source

Converts a constant function that takes a `Proxy`

argument to one that
doesn't require a `proxy`

argument. (I'm not sure why you'd want this,
but it's here for symmetry.)

*Since: 0.1*

module Data.Proxy

# Proxified functions

## Data.Bits

bitSizeProxied :: Bits a => proxy a -> Int Source

`bitSizeProxied`

=`proxied`

`bitSize`

*Since: 0.1*

isSignedProxied :: Bits a => proxy a -> Bool Source

`isSignedProxied`

=`proxied`

`isSigned`

*Since: 0.1*

bitSizeMaybeProxied :: Bits a => proxy a -> Maybe Int Source

`bitSizeMaybeProxied`

=`proxied`

`bitSizeMaybe`

This function is only available with `base-4.7`

or later.

*Since: 0.1*

finiteBitSizeProxied :: FiniteBits a => proxy a -> Int Source

`finiteBitSizeProxied`

=`proxied`

`finiteBitSize`

This function is only available with `base-4.7`

or later.

*Since: 0.1*

## Data.Data

dataTypeOfProxied :: Data a => proxy a -> DataType Source

`dataTypeOfProxied`

=`proxied`

`dataTypeOf`

*Since: 0.1*

## Data.Typeable

typeOfProxied :: Typeable a => proxy a -> TypeRep Source

## Foreign.Storable

sizeOfProxied :: Storable a => proxy a -> Int Source

`sizeOfProxied`

=`proxied`

`sizeOf`

*Since: 0.1*

alignmentProxied :: Storable a => proxy a -> Int Source

`alignmentProxied`

=`proxied`

`alignment`

*Since: 0.1*

## GHC.Generics

datatypeNameProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> [Char] Source

`datatypeNameProxied`

=`proxied`

`datatypeName`

*Since: 0.1*

moduleNameProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> [Char] Source

`moduleNameProxied`

=`proxied`

`moduleName`

*Since: 0.1*

isNewtypeProxied :: Datatype d => proxy ((t :: * -> (* -> *) -> * -> *) d f a) -> Bool Source

`isNewtypeProxied`

=`proxied`

`isNewtype`

This function is only available with `base-4.7`

or later.

*Since: 0.1*

conNameProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> [Char] Source

`conNameProxied`

=`proxied`

`conName`

*Since: 0.1*

conFixityProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> Fixity Source

`conFixityProxied`

=`proxied`

`conFixity`

*Since: 0.1*

conIsRecordProxied :: Constructor c => proxy ((t :: * -> (* -> *) -> * -> *) c f a) -> Bool Source

`conIsRecordProxied`

=`proxied`

`conIsRecord`

*Since: 0.1*

selNameProxied :: Selector s => proxy ((t :: * -> (* -> *) -> * -> *) s f a) -> [Char] Source

`selNameProxied`

=`proxied`

`selName`

*Since: 0.1*

## Prelude

floatRadixProxied :: RealFloat a => proxy a -> Integer Source

`floatRadixProxied`

=`proxied`

`floatRadix`

*Since: 0.1*

floatDigitsProxied :: RealFloat a => proxy a -> Int Source

`floatDigitsProxied`

=`proxied`

`floatDigits`

*Since: 0.1*

floatRangeProxied :: RealFloat a => proxy a -> (Int, Int) Source

`floatRangeProxied`

=`proxied`

`floatRange`

*Since: 0.1*

## Text.Printf

parseFormatProxied :: PrintfArg a => proxy a -> ModifierParser Source

`parseFormatProxied`

=`proxied`

`parseFormat`

This function is only available with `base-4.7`

or later.

*Since: 0.1*