Glasgow Haskell Compiler
この段階で行われる解析と変換は、需要解析 (正格性解析(英語版)の一般化)、ユーザー定義の項書き換えの適用 (foldr/build融合(英語版)を実行するGHCの標準ライブラリに含まれる一連の規則を含む)、展開 (より伝統的なコンパイラでは「インライン展開」と呼ばれているもの)、ボックス化を解除できる関数の引数がどれであるかの解析、構築された製品の結果解析(英語版)、多重定義された関数の部分評価、定数畳み込みやベータ簡約などのより簡単な局所変換である。
GHCのバックエンドは、中間言語 Spineless Tagless G-machine (STG) を介してCoreのコードをC--の内部表現に変換している。C--のコードは以下の3つの中のいずれかの方法によって変換される。
GCCでコンパイルするためのC言語のコードを出力。
機械語に直接変換 (従来のコード生成)。
LLVMでコンパイルするための中間言語 (LLVM IR) に変換。
いずれの方法でも最終的に得られた機械語はGHCのランタイムシステムとリンクされ、実行ファイルが生成される。