【すたーらーく】
Starlark とは?
最終更新:
💡 Pythonに似た構文で、ビルドなどの設定を表す
Pythonに似た構文で設定を記述する、アプリケーションに組み込むための言語。Bazelではビルド対象やルールの定義に使う。環境への直接アクセスなどを制限するが、Pythonそのものではなく、組み込み先が提供する機能にも動作が依存する。
📌 このページのポイント
Pythonでビルド設定を書くのと同じ?
Bazelではどのファイルに書く?
副作用がなくて、値も変更できない?
現在の実行で作ったリストや辞書は変更できるよ。評価後に値を凍結して、別の実行から変更できないようにする。設定の評価が組み込み先のアプリへ作用することもあるので、すべての副作用がないとは言わないんだ。
ファイルやネットワークにもアクセスできない?
言語は標準では環境との直接のやり取りを提供しないよ。ただしアプリが追加する関数は別に確認する必要がある。同じ設定から同じ結果を得るには、渡す入力や組み込み先の動作も揃えるんだ。
型がないから、間違いも検出されない?
まとめ:ざっくりこれだけ覚えればOK!
「Starlark」って出てきたら「Pythonに似た構文で設定を書く組み込み言語」と思えばだいたいOK!
📖 おまけ:英語の意味
「Starlark」 = 設定用の言語の名前
💬 以前はSkylarkと呼ばれていたよ。現在はStarlarkという名前で、Bazelなどのアプリに組み込む設定言語として使われているんだ。