proxied-0.2: Make functions consume Proxy instead of undefined

Copyright(C) 2016 Ryan Scott
LicenseBSD-style (see the file LICENSE)
MaintainerRyan Scott
StabilityProvisional
PortabilityGHC
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Proxyless

Contents

Description

Remove the Proxy, Proxy#, and undefined arguments from functions with proxyless, proxyHashless, and undefinedless, respectively, which produce functions that take type information via GHC's -XTypeApplications extension.

This module is only available with GHC 8.0 or later.

Since: 0.2

Synopsis

proxyless, proxyHashless, and undefinedless

proxyless :: forall a b. (Proxy a -> b) -> b Source #

Converts a constant function that takes a Proxy argument to one that doesn't require an argument.

Since: 0.2

proxyHashless :: forall a b. (Proxy# a -> b) -> b Source #

Converts a constant function that takes a Proxy# argument to one that doesn't require an argument.

Since: 0.2

undefinedless :: forall a b. (a -> b) -> b Source #

Converts a constant function that takes an undefined argument to one that doesn't require an argument.

Since: 0.2

Proxyless functions

Data.Bits

theBitSize :: forall a. Bits a => Int Source #

Data.Data

Data.Typeable

Foreign.Storable

GHC.Generics

theSelName :: forall s. Selector s => [Char] Source #

GHC.OverloadedLabels

theFromLabel :: forall x a. IsLabel x a => a Source #

GHC.TypeLits

theSameNat :: forall a b. (KnownNat a, KnownNat b) => Maybe (a :~: b) Source #

Prelude

Text.Printf