ligd-0.2: Lightweight Implementation of Generics and Dynamics

Generics.LIGD.Base

Documentation

data Unit Source

Constructors

Unit 

Instances

data a :+: b Source

Constructors

L a 
R b 

Instances

(Show a, Show b) => Show (:+: a b) 

data a :*: b Source

Constructors

a :*: b 

Instances

(Show a, Show b) => Show (:*: a b) 

data EP a b Source

Constructors

EP 

Fields

from :: a -> b
 
to :: b -> a
 

data Rep whereSource

Constructors

RChar :: Rep Char 
RInt :: Rep Int 
RString :: Rep String 
RUnit :: Rep Unit 
RSum :: Rep a -> Rep b -> Rep (a :+: b) 
RProd :: Rep a -> Rep b -> Rep (a :*: b) 
RCon :: String -> Rep a -> Rep a 
RType :: EP b a -> Rep a -> Rep b 

data Rep1 whereSource

Constructors

RChar1 :: Rep1 g Char 
RInt1 :: Rep1 g Int 
RUnit1 :: Rep1 g Unit 
RSum1 :: Rep1 g a -> Rep1 g b -> Rep1 g (a :+: b) 
RProd1 :: Rep1 g a -> Rep1 g b -> Rep1 g (a :*: b) 
RCon1 :: String -> Rep1 g a -> Rep1 g a 
RType1 :: EP b a -> Rep1 g a -> Rep1 g b 
RVar1 :: g a -> Rep1 g a 

data Rep2 whereSource

Constructors

RChar2 :: Rep2 g Char Char 
RInt2 :: Rep2 g Int Int 
RUnit2 :: Rep2 g Unit Unit 
RSum2 :: Rep2 g a b -> Rep2 g c d -> Rep2 g (a :+: c) (b :+: d) 
RProd2 :: Rep2 g a b -> Rep2 g c d -> Rep2 g (a :*: c) (b :*: d) 
RCon2 :: String -> Rep2 g a b -> Rep2 g a b 
RType2 :: EP a c -> EP b d -> Rep2 g c d -> Rep2 g a b 
RVar2 :: g a b -> Rep2 g a b