ghc-7.7.20130829: The GHC API

Safe HaskellNone

CoAxiom

Description

Module for coercion axioms, used to represent type family instances and newtypes

Synopsis

Documentation

data Branched Source

Instances

data BranchList a br whereSource

Constructors

FirstBranch :: a -> BranchList a br 
NextBranch :: a -> BranchList a br -> BranchList a Branched 

Instances

brListMap :: (a -> b) -> BranchList a br -> [b]Source

brListFoldr :: (a -> b -> b) -> b -> BranchList a br -> bSource

brListMapM :: Monad m => (a -> m b) -> BranchList a br -> m [b]Source

brListFoldlM_ :: forall a b m br. Monad m => (a -> b -> m a) -> a -> BranchList b br -> m ()Source

brListZipWith :: (a -> b -> c) -> BranchList a br1 -> BranchList b br2 -> [c]Source

data CoAxiom br Source

A CoAxiom is a "coercion constructor", i.e. a named equality axiom.

Instances

Eq (CoAxiom br) 
Typeable * br => Data (CoAxiom br) 
Ord (CoAxiom br) 
Outputable (CoAxiom br) 
Uniquable (CoAxiom br) 
NamedThing (CoAxiom br) 
Typeable (* -> *) CoAxiom 

data CoAxBranch Source

Constructors

CoAxBranch 

Instances