reflection-0.1.1: Functional Pearl: Implicit ConfigurationsSource codeContentsIndex
Data.Reflection
Portabilitynon-portable (scoped types, MPTCs, rank-n, FFI, kinds)
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Contents
Reflect Integrals
Reflect Lists of Integrals
Reflect Storables
Reflect Anything
Description

Implementation of the Functional Pearl: Implicit Configurations paper by Oleg Kiselyov and Chung-chieh Shan.

http://www.cs.rutgers.edu/~ccshan/prepose/prepose.pdf

Packaged and updated to work with the current implementation of scoped type variables by Edward Kmett.

Synopsis
class ReflectedNum s where
reflectNum :: Num a => s -> a
reifyIntegral :: Integral a => a -> (forall s. ReflectedNum s => s -> w) -> w
class ReflectedNums ss
reifyIntegrals :: Integral a => [a] -> (forall ss. ReflectedNums ss => ss -> w) -> w
class ReflectedStorable s where
reflectStorable :: Storable a => s a -> a
reifyStorable :: Storable a => a -> (forall s. ReflectedStorable s => s a -> w) -> w
class Reflects s a | s -> a where
reflect :: s -> a
reify :: a -> (forall s. Reflects s a => s -> w) -> w
Reflect Integrals
class ReflectedNum s whereSource
Methods
reflectNum :: Num a => s -> aSource
show/hide Instances
reifyIntegral :: Integral a => a -> (forall s. ReflectedNum s => s -> w) -> wSource
Reflect Lists of Integrals
class ReflectedNums ss Source
show/hide Instances
reifyIntegrals :: Integral a => [a] -> (forall ss. ReflectedNums ss => ss -> w) -> wSource
Reflect Storables
class ReflectedStorable s whereSource
Methods
reflectStorable :: Storable a => s a -> aSource
show/hide Instances
reifyStorable :: Storable a => a -> (forall s. ReflectedStorable s => s a -> w) -> wSource
Reflect Anything
class Reflects s a | s -> a whereSource
Methods
reflect :: s -> aSource
show/hide Instances
ReflectedStorable s => Reflects (Stable s a) a
reify :: a -> (forall s. Reflects s a => s -> w) -> wSource
Produced by Haddock version 2.4.2