GHCは、コンパイルの副作用として、最適化済み中間コード(「コア」形式と呼ぶ)をファイルに出力することができる。GHC以外のバックエンドツールがコアファイルを読んで処理することができる。このファイルは接尾辞.hcr
を持つ。コア形式はAn External Representation for the GHC Core Languageに記述されており、コアファイルを操作するツールのサンプル(Haskell製)はHackageのextcoreパッケージにある。.hcr
ファイルの形式はデバッグのためにGHCが生成するコア出力(4.19. コンパイラをデバッグする)とは異なることに注意。(この二つの形式はやや似ているように見えるけれども)
コア形式は注釈(note)を最初からサポートしている。注釈を加えるには、ソースコード中でCORE
プラグマ(7.18. プラグマを見よ)を使えば良い。
-fext-core
.hcr
ファイルを生成する。
現在(バージョン6.8.2以降)、GHCは外部コアファイルをソースとして読み込む能力を持たない。GHCにこの機能があって欲しいと思うなら、GHCチームにその願いを伝えてほしい。