ExternalCore

ghc-7.6.3: The GHC API

Safe Haskell | Safe-Inferred

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 Ty |
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 |
TransCoercion Ty Ty |
SymCoercion Ty |
UnsafeCoercion Ty Ty |
InstCoercion Ty Ty |
NthCoercion Int Ty |

Instances

Show Ty |

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 String 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