Expand description

defines Type (type kind).

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

Modules

Structs

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

Enums

型引数 データのみ、その評価結果は別に持つ Info: 連携型パラメータがあるので、比較にはdeep_eqを使うこと

NOTE: 連携型変数があるので、比較にはref_eqを使うこと Commonが付く型は多相だが中の型をなんでも受け入れるバージョン TODO: MonoArray Int, 3 == PolyArray Int, Int, Int Mut型を作ろうとすると、name() -> &strがうまくいかないので 組み込みMut型は全て書き下す

バイトコード命令で、in-place型付けをするオブジェクト MaybeBigがついている場合、固定長でない可能性あり(実行時検査が必要)

バイトコード命令で、in-place型付けをするオブジェクトペア とりあえずは必要性の高いペアから登録する 全ての式の型が確認されているので、戻り値の型は不要

Traits

Functions

Type Definitions