Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


Appleがシステム構成を作成するためのプログラミング言語である「Pkl(ピックル)」をオープンソースとしてリリースしました。Pklで構成を記述することで、必要に応じてJSONやYAMLのほか、Kotlin、Ruby、JavaScriptなどの形式で自由に出力することが可能とのことです。
Pkl :: Pkl Docs
https://pkl-lang.org/index.html

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像



apple/pkl: A configuration as code language with rich validation and tooling.
https://github.com/apple/pkl
システム構成を記述する際にはJSONやYAML、プロパティリスト(plist)などの静的言語を用いる場合が多いものの、表現力に限界があってコードが頻繁に繰り返されたり、独自の検証を提供しないために構文エラーが発生しやすかったりなどの問題が発生しています。
こうした問題に対応するために特別なロジックを追加する補助ツールなどを利用すると、時の経過と共に複雑で難解なコードが生成されてしまいます。一方で、KotlinやRuby、JavaScriptなどの汎用(はんよう)言語を使用するという解決策も考えられますが、あくまでも汎用言語であり構成の記述に使用するのは扱いにくいもの。
Pklは宣言型で簡単に読み書きできるという静的言語の強みとクラスや関数、条件文、ループなどの汎用言語の機能を組み合わせ、さまざまな構成を分かりやすく記述できるようにしたプログラミング言語です。
例えば下図のようなPklを考えます。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


上のPklを元に、JSON形式で出力すると下図の通り。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


一方YAML形式だと下図のようになります。このように、必要な形式に応じて柔軟に出力を変更可能とのこと。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


Pklでは「host」「port」という2つの変数を定義するだけなら下図のようにシンプルに記述できます。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


JavaやKotlin、Swift、Goなどの言語へも出力可能。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


IntelliJ、Visual Studio Code、Neovimのプラグインと拡張機能がリリース済みとなっており、IDEの入力支援を受けることもできます。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


また、豊富な型と検証システムを利用することでアプリケーションのデプロイ前にエラーを検出可能。

Appleがシステム構成のためのプログラミング言語「Pkl」をオープンソースでリリース - 画像


Appleは「JVM」「Swift」「Go」「Kubernetes」について「すぐに使える」サンプルをGitHub上で提供しているので、利用を考えている人は確認してみてください。

ジャンルで探す