4.18. 外部コアファイルを生成・コンパイルする

GHCは、コンパイルの副作用として、最適化済み中間コード(「コア」形式と呼ぶ)をファイルに出力することができる。GHC以外のバックエンドツールがコアファイルを読んで処理することができる。このファイルは接尾辞.hcrを持つ。コア形式はAn External Representation for the GHC Core Languageに記述されており、コアファイルを操作するツールのサンプル(Haskell製)はHackageのextcoreパッケージにある。.hcrファイルの形式はデバッグのためにGHCが生成するコア出力(4.19. コンパイラをデバッグする)とは異なることに注意。(この二つの形式はやや似ているように見えるけれども)

コア形式は注釈(note)を最初からサポートしている。注釈を加えるには、ソースコード中でCOREプラグマ(7.16. プラグマを見よ)を使えば良い。

-fext-core

.hcrファイルを生成する。

現在(バージョン6.8.2以降)、GHCは外部コアファイルをソースとして読み込む能力を持たない。GHCにこの機能があって欲しいと思うなら、GHCチームにその願いを伝えてほしい。