RepLib-0.5.4.1: Generic programming library with representation types

LicenseBSD
Maintainersweirich@cis.upenn.edu
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Generics.RepLib.R1

Description

 
Synopsis

Documentation

data R1 ctx a where Source #

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 
Equal1 :: (Rep a, Rep b) => ctx a -> ctx b -> R1 ctx (a :~: b) 
Instances
Show (R1 c a) Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

showsPrec :: Int -> R1 c a -> ShowS #

show :: R1 c a -> String #

showList :: [R1 c a] -> ShowS #

class Sat a where Source #

Minimal complete definition

dict

Methods

dict :: a Source #

Instances
Show a => Sat (ShowD a) Source # 
Instance details

Defined in Generics.RepLib.PreludeLib

Methods

dict :: ShowD a Source #

Bounded a => Sat (BoundedD a) Source # 
Instance details

Defined in Generics.RepLib.PreludeLib

Methods

dict :: BoundedD a Source #

Ord a => Sat (OrdD a) Source # 
Instance details

Defined in Generics.RepLib.PreludeLib

Methods

dict :: OrdD a Source #

Eq a => Sat (EqD a) Source # 
Instance details

Defined in Generics.RepLib.PreludeLib

Methods

dict :: EqD a Source #

Shrink a => Sat (ShrinkD a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: ShrinkD a Source #

Enumerate a => Sat (EnumerateD a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: EnumerateD a Source #

Generate a => Sat (GenerateD a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: GenerateD a Source #

Zero a => Sat (ZeroD a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: ZeroD a Source #

GSum a => Sat (GSumD a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: GSumD a Source #

Lreduce b a => Sat (LreduceD b a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: LreduceD b a Source #

Rreduce b a => Sat (RreduceD b a) Source # 
Instance details

Defined in Generics.RepLib.Lib

Methods

dict :: RreduceD b a Source #

(Unify n a b, Subst n a b, Occurs n a b) => Sat (UnifySubD n a b) Source # 
Instance details

Defined in Generics.RepLib.Unify

Methods

dict :: UnifySubD n a b Source #

class Rep a => Rep1 ctx a where Source #

Minimal complete definition

rep1

Methods

rep1 :: R1 ctx a Source #

Instances
Rep1 ctx () Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx () Source #

Rep1 ctx Rational Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Rational Source #

Rep1 ctx IOError Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx IOError Source #

Rep1 ctx Double Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Double Source #

Rep1 ctx Float Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Float Source #

Rep1 ctx Integer Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Integer Source #

Rep1 ctx Char Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Char Source #

Rep1 ctx Int Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx Int Source #

Rep1 ctx Bool Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx Bool Source #

Rep1 ctx Ordering Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx Ordering Source #

(Rep a, Sat (ctx a), Sat (ctx [a])) => Rep1 ctx [a] Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx [a] Source #

(Rep a, Sat (ctx a)) => Rep1 ctx (IO a) Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx (IO a) Source #

(Rep a, Sat (ctx a)) => Rep1 ctx (Maybe a) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (Maybe a) Source #

Rep a => Rep1 ctx (Set a) Source # 
Instance details

Defined in Generics.RepLib.AbstractReps

Methods

rep1 :: R1 ctx (Set a) Source #

(Rep a, Sat (ctx a), Rep b, Sat (ctx b)) => Rep1 ctx (a, b) Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx (a, b) Source #

(Rep a, Rep b, Sat (ctx a), Sat (ctx b)) => Rep1 ctx (a -> b) Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx (a -> b) Source #

(Rep a, Rep b, Sat (ctx a), Sat (ctx b)) => Rep1 ctx (Either a b) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (Either a b) Source #

(Rep k, Rep a) => Rep1 ctx (Map k a) Source # 
Instance details

Defined in Generics.RepLib.AbstractReps

Methods

rep1 :: R1 ctx (Map k a) Source #

(Rep a, Rep b, Sat (ctx a), Sat (ctx b)) => Rep1 ctx (a :~: b) Source # 
Instance details

Defined in Generics.RepLib.R1

Methods

rep1 :: R1 ctx (a :~: b) Source #

(Rep a, Rep b, Rep c, Sat (ctx a), Sat (ctx b), Sat (ctx c)) => Rep1 ctx (a, b, c) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (a, b, c) Source #

(Rep a, Rep b, Rep c, Rep d, Sat (ctx a), Sat (ctx b), Sat (ctx c), Sat (ctx d)) => Rep1 ctx (a, b, c, d) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (a, b, c, d) Source #

(Rep a, Rep b, Rep c, Rep d, Rep e, Sat (ctx a), Sat (ctx b), Sat (ctx c), Sat (ctx d), Sat (ctx e)) => Rep1 ctx (a, b, c, d, e) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (a, b, c, d, e) Source #

(Rep a, Rep b, Rep c, Rep d, Rep e, Rep f, Sat (ctx a), Sat (ctx b), Sat (ctx c), Sat (ctx d), Sat (ctx e), Sat (ctx f)) => Rep1 ctx (a, b, c, d, e, f) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (a, b, c, d, e, f) Source #

(Rep a, Rep b, Rep c, Rep d, Rep e, Rep f, Rep g, Sat (ctx a), Sat (ctx b), Sat (ctx c), Sat (ctx d), Sat (ctx e), Sat (ctx f), Sat (ctx g)) => Rep1 ctx (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Generics.RepLib.PreludeReps

Methods

rep1 :: R1 ctx (a, b, c, d, e, f, g) Source #

getRepC :: Rep b => c b -> R b Source #

Access a representation, given a proxy

toR :: R1 c a -> R a Source #

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 #