RepLib-0.4.0: Generic programming library with representation types

Portabilitynon-portable
Stabilityexperimental
Maintainersweirich@cis.upenn.edu

Generics.RepLib.R1

Description

 

Synopsis

Documentation

data R1 ctx a whereSource

Constructors

Int1 :: R1 ctx Int 
Char1 :: R1 ctx Char 
Integer1 :: R1 ctx Integer 
Float1 :: R1 ctx Float 
Double1 :: R1 ctx Double 
Rational1 :: R1 ctx Rational 
IOError1 :: R1 ctx IOError 
IO1 :: Rep a => ctx a -> R1 ctx (IO a) 
Arrow1 :: (Rep a, Rep b) => ctx a -> ctx b -> R1 ctx (a -> b) 
Data1 :: DT -> [Con ctx a] -> R1 ctx a 
Abstract1 :: DT -> R1 ctx a 

Instances

Show (R1 c a) 

class Sat a whereSource

Methods

dict :: aSource

Instances

Shrink a => Sat (ShrinkD a) 
Enumerate a => Sat (EnumerateD a) 
Generate a => Sat (GenerateD a) 
Zero a => Sat (ZeroD a) 
GSum a => Sat (GSumD a) 
Show a => Sat (ShowD a) 
Bounded a => Sat (BoundedD a) 
Ord a => Sat (OrdD a) 
Eq a => Sat (EqD a) 
Lreduce b a => Sat (LreduceD b a) 
Rreduce b a => Sat (RreduceD b a) 
(Unify n a b, Subst n a b, Occurs n a b) => Sat (UnifySubD n a b) 

class Rep a => Rep1 ctx a whereSource

Methods

rep1 :: R1 ctx aSource

Instances

Rep1 ctx () 
Rep1 ctx Rational 
Rep1 ctx IOError 
Rep1 ctx Double 
Rep1 ctx Float 
Rep1 ctx Integer 
Rep1 ctx Char 
Rep1 ctx Int 
Rep1 ctx[a9Of] Bool 
Rep1 ctx[a9Nz] Ordering 
(Rep a, Sat (ctx a), Sat (ctx [a])) => Rep1 ctx [a] 
(Rep a, Sat (ctx a)) => Rep1 ctx (IO a) 
(Rep a[a1zn], Sat (ctx[a9O5] a[a1zn])) => Rep1 ctx[a9O5] (Maybe a[a1zn]) 
(Rep a, Sat (ctx a), Rep b, Sat (ctx b)) => Rep1 ctx (a, b) 
(Rep a, Rep b, Sat (ctx a), Sat (ctx b)) => Rep1 ctx (a -> b) 
(Rep a[a9NH], Rep b[a9NG], Sat (ctx[a9NQ] a[a9NH]), Sat (ctx[a9NQ] b[a9NG])) => Rep1 ctx[a9NQ] (Either a[a9NH] b[a9NG]) 
(Rep a[12], Rep b[13], Rep c[14], Sat (ctx[a9Nh] a[12]), Sat (ctx[a9Nh] b[13]), Sat (ctx[a9Nh] c[14])) => Rep1 ctx[a9Nh] (a[12], b[13], c[14]) 
(Rep a[12], Rep b[13], Rep c[14], Rep d[15], Sat (ctx[a9MU] a[12]), Sat (ctx[a9MU] b[13]), Sat (ctx[a9MU] c[14]), Sat (ctx[a9MU] d[15])) => Rep1 ctx[a9MU] (a[12], b[13], c[14], d[15]) 
(Rep a[12], Rep b[13], Rep c[14], Rep d[15], Rep e[16], Sat (ctx[a9Ms] a[12]), Sat (ctx[a9Ms] b[13]), Sat (ctx[a9Ms] c[14]), Sat (ctx[a9Ms] d[15]), Sat (ctx[a9Ms] e[16])) => Rep1 ctx[a9Ms] (a[12], b[13], c[14], d[15], e[16]) 
(Rep a[12], Rep b[13], Rep c[14], Rep d[15], Rep e[16], Rep f[17], Sat (ctx[a9LV] a[12]), Sat (ctx[a9LV] b[13]), Sat (ctx[a9LV] c[14]), Sat (ctx[a9LV] d[15]), Sat (ctx[a9LV] e[16]), Sat (ctx[a9LV] f[17])) => Rep1 ctx[a9LV] (a[12], b[13], c[14], d[15], e[16], f[17]) 
(Rep a[12], Rep b[13], Rep c[14], Rep d[15], Rep e[16], Rep f[17], Rep g[18], Sat (ctx[a9Lj] a[12]), Sat (ctx[a9Lj] b[13]), Sat (ctx[a9Lj] c[14]), Sat (ctx[a9Lj] d[15]), Sat (ctx[a9Lj] e[16]), Sat (ctx[a9Lj] f[17]), Sat (ctx[a9Lj] g[18])) => Rep1 ctx[a9Lj] (a[12], b[13], c[14], d[15], e[16], f[17], g[18]) 

getRepC :: Rep b => c b -> R bSource

Access a representation, given a proxy

toR :: R1 c a -> R aSource

Transform a parameterized rep to a vanilla rep

rTup2_1 :: forall a b ctx. (Rep a, Rep b) => ctx a -> ctx b -> R1 ctx (a, b)Source

rList1 :: forall a ctx. Rep a => ctx a -> ctx [a] -> R1 ctx [a]Source