|
Data.RepLib.RepAux | Portability | non-portable | Stability | experimental | Maintainer | sweirich@cis.upenn.edu |
|
|
|
|
|
Description |
Auxiliary operations to aid in the definition of type-indexed functions
|
|
Synopsis |
|
|
|
|
Casting operations
|
|
|
Determine if two reps are for the same type
|
|
|
The type-safe cast operation, implicit arguments
|
|
|
The type-safe cast operation, explicit arguments
|
|
|
Leibniz equality between types, implicity representations
|
|
|
Leibniz equality between types, explicit representations
|
|
Operations for heterogeneous lists
|
|
|
Given a list of constructor representations for a datatype,
determine which constructor formed the datatype.
|
|
|
A datastructure to store the results of findCon
| Constructors | forall l . Val (Emb l a) (MTup ctx l) l | |
|
|
|
foldl_l :: (forall a. Rep a => ctx a -> b -> a -> b) -> b -> MTup ctx l -> l -> b | Source |
|
A fold left for heterogeneous lists
|
|
foldr_l :: (forall a. Rep a => ctx a -> a -> b -> b) -> b -> MTup ctx l -> l -> b | Source |
|
A fold right operation for heterogeneous lists, that folds a function
expecting a type type representation across each element of the list.
|
|
map_l :: (forall a. Rep a => ctx a -> a -> a) -> MTup ctx l -> l -> l | Source |
|
A map for heterogeneous lists
|
|
mapQ_l :: (forall a. Rep a => ctx a -> a -> r) -> MTup ctx l -> l -> [r] | Source |
|
Transform a heterogeneous list in to a standard list
|
|
mapM_l :: Monad m => (forall a. Rep a => ctx a -> a -> m a) -> MTup ctx l -> l -> m l | Source |
|
mapM for heterogeneous lists
|
|
fromTup :: (forall a. Rep a => ctx a -> a) -> MTup ctx l -> l | Source |
|
Generate a heterogeneous list from metadata
|
|
|
Generate a heterogeneous list from metadata, in a monad
|
|
toList :: (forall a. Rep a => ctx a -> b) -> MTup ctx l -> [b] | Source |
|
Generate a normal lists from metadata
|
|
SYB style operations (Rep)
|
|
type Traversal = forall a. Rep a => a -> a | Source |
|
A SYB style traversal
|
|
type Query r = forall a. Rep a => a -> r | Source |
|
SYB style query type
|
|
type MapM m = forall a. Rep a => a -> m a | Source |
|
SYB style monadic map type
|
|
|
Map a traversal across the kids of a data structure
|
|
|
|
|
|
SYB style operations (Rep1)
|
|
type Traversal1 ctx = forall a. Rep a => ctx a -> a -> a | Source |
|
|
type Query1 ctx r = forall a. Rep a => ctx a -> a -> r | Source |
|
|
type MapM1 ctx m = forall a. Rep a => ctx a -> a -> m a | Source |
|
|
|
|
|
|
|
|
SYB Reloaded
|
|
|
|
|
|
|
|
|
|
|
|
Produced by Haddock version 2.4.2 |