ghc-7.8.4: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell98

ExternalCore

# Documentation

data Module

Constructors

Module Mname [Tdef] [Vdefg] |

Instances

Show Module |

data Tdef

Constructors

Data (Qual Tcon) [Tbind] [Cdef] |
Newtype (Qual Tcon) (Qual Tcon) [Tbind] Ty |

Instances

Show Tdef |

data Cdef

Constructors

Constr (Qual Dcon) [Tbind] [Ty] |
GadtConstr (Qual Dcon) Ty |

Instances

Show Cdef |

data Vdefg

Constructors

Rec [Vdef] |
Nonrec Vdef |

Instances

Show Vdefg |

type Vdef = (Bool, Qual Var, Ty, Exp)

data Exp

Constructors

Var (Qual Var) |
Dcon (Qual Dcon) |
Lit Lit |
App Exp Exp |
Appt Exp Ty |
Lam Bind Exp |
Let Vdefg Exp |
Case Exp Vbind Ty [Alt] |
Cast Exp Coercion |
Tick String Exp |
External String String Ty |
DynExternal String Ty |
Label String |

Instances

Show Exp |

data Bind

Constructors

Vb Vbind |
Tb Tbind |

data Alt

Constructors

Acon (Qual Dcon) [Tbind] [Vbind] Exp |
Alit Lit Exp |
Adefault Exp |

Instances

Show Alt |

type Vbind = (Var, Ty)

type Tbind = (Tvar, Kind)

data Ty

Constructors

Tvar Tvar |
Tcon (Qual Tcon) |
Tapp Ty Ty |
Tforall Tbind Ty |

Instances

Show Ty |

data Coercion

Constructors

ReflCoercion Role Ty |
SymCoercion Coercion |
TransCoercion Coercion Coercion |
TyConAppCoercion Role (Qual Tcon) [Coercion] |
AppCoercion Coercion Coercion |
ForAllCoercion Tbind Coercion |
CoVarCoercion Var |
UnivCoercion Role Ty Ty |
InstCoercion Coercion Ty |
NthCoercion Int Coercion |
AxiomCoercion (Qual Tcon) Int [Coercion] |
LRCoercion LeftOrRight Coercion |
SubCoercion Coercion |

data Role

Constructors

Nominal |
Representational |
Phantom |

data LeftOrRight

Constructors

CLeft |
CRight |

data Kind

Constructors

Klifted |
Kunlifted |
Kunboxed |
Kopen |
Karrow Kind Kind |

Instances

Show Kind |

data Lit

Constructors

Lint Integer Ty |
Lrational Rational Ty |
Lchar Char Ty |
Lstring [Word8] Ty |

Instances

Show Lit |

type Mname = Id

type Var = Id

type Tvar = Id

type Tcon = Id

type Dcon = Id

type Qual t = (Mname, t)

type Id = String

primMname :: Mname

tcArrow :: Qual Tcon