Expand description

defines Type (type kind).

Type(コンパイラ等で使われる「型」を表現する)を定義する

Modules

バイトコードからオブジェクトを復元する
defines ValueObj (used in the compiler, VM).

Macros

Structs

e.g. (x: Int, ?base: Int) -> Int => SubrTy{ kind: Func, non_default_params: [x: Int], default_params: [base: Int] return_t: Int }

Enums

TyBoundはtemplateで、Constraintは自由型変数が持つinstance
バイトコード命令で、in-place型付けをするオブジェクト MaybeBigがついている場合、固定長でない可能性あり(実行時検査が必要)
バイトコード命令で、in-place型付けをするオブジェクトペア とりあえずは必要性の高いペアから登録する 全ての式の型が確認されているので、戻り値の型は不要

Traits

cloneのコストがあるためなるべく.ref_tを使うようにすること いくつかの構造体は直接Typeを保持していないので、その場合は.tを使う