"TypeSpecifier" (コンパイルタイプ)
"TypeSpecifier"::[t]
別の型 t を表す型である.
詳細
- "TypeSpecifier"::["MachineInteger"]と"MachineInteger"の関係は,式TypeSpecifier["MachineInteger"]と数式2の関係のようなものである.
- "TypeSpecifier"型を持つ項は変数に保存して関数に渡すことができる.
- "TypeSpecifier"型は,Castのように引数として型を取る関数を定義するために使うことができる.
- "TypeSpecifier"型は型システムによる操作にだけ使われる.
コンストラクタ
- TypeSpecifier[t]は型"TypeSpecifier"::[t]のオブジェクトを構築する.
- t はコンパイル時において完全に解決できなければならない.
- TypeOf[x]はオブジェクト x の型を返す.
変換
- 型TypeSpecifier[t]の式は,型"TypeSpecifier"::[t]に変換することも型"TypeSpecifier"::[t]から変換することもできる.
式
例題
すべて開く すべて閉じる例 (2)
"TypeSpecifier"型を返すプログラムをコンパイルする:
cf = FunctionCompile[Function[{}, TypeSpecifier["ListVector"::["Integer64"]]]]cf[]後の評価で使えるように,"TypeSpecifier"型を変数に保存する:
cf = FunctionCompile[Function[Typed[arg, "Integer64"],
With[{ty = TypeSpecifier["Real64"]},
Cast[arg, ty]
]
]]cf[12]スコープ (1)
TypeSpecifierの呼出しの中でTypeOfを使う:
cf = FunctionCompile[Function[Typed[arg, "Real64"],
TypeSpecifier["ListVector"::[TypeOf[arg]]]
]]cf[12.2]テクニカルノート
履歴
2022 で導入 (13.1)