プログラミング言語SML#解説 4.1.0版
Chapter 29 SML#実行時データ管理
SML#は,全ての基本的なデータ構造の実行時表現として, C言語の一般的な処理系と同様に,ターゲットプラットフォームにおいて 最も自然なデータ表現(あるいは,ターゲットプラットフォームの ABI(Application Binary Interface)が規程するデータ表現)を採用している. 例えば,x86_64プラットフォームでは, int型は32ビット整数の型, real型は64ビットのIEEE754浮動小数点数の型である. これらの型の式の評価は,それぞれの型の値を計算するのに最も適した レジスタを用いて行われる. また,これらの型が組や配列の要素であった場合,それぞれの型に適した 境界条件で要素が整列される. このような自然なデータ表現は,多相関数を含む,SML#プログ ラム全体で維持される.
SML#の分割コンパイルおよびC言語との相互運用性は,この 自然な実行時データ表現を基礎として構築されている. 従って,これらの機能を用いるユーザーは,SML#の実行時 データ表現についての知識が必要である. 以下,本章では,SML#の実行時データ表現とメモリ管理について 詳述する.