K正規化の意味 K正規化は、複雑な計算の途中結果全てを変数として定義する。 これによって複雑な式が一連の単純な式に分解され、プログラムは順序づけられた単純な計算の繰り返しに姿を変える。 K正規化後の型であるKNormal.tにもそれが表れている。 type t = | Add of Id.t * Id.t | Sub of Id.t * Id.t | ... | IfEq of Id.t * Id.t * t * t | IfLE of Id.t * Id.t * t * t | Let of (Id.t * Type.t) * t * t | LetRec of fundef * t | LetTuple of (Id.t * Type.t) list * Id.t * t 全ての演算や関数適用は、式KNormal.tではなく変数Id.tをオペランドにとるようになり、KNormal.tを