Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成
今回は「Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成」についてご紹介します。
関連ワード (単一、形式、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Appleは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。
ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われているJSONやYAML、XMLプロパティリストなどの形式で正確に記述することは難しくなってきています。
Pklはそうしたコンフィグレーションを正確かつ分かりやすく記述するために開発された、特定目的用のプログラミング言語だと説明されています。
Configuration-as-Codeを実現するための豊富な型やバリデーション機能、VSCodeやIntelliJ、NeoVimなどのコードエディタのプラグインを提供します。Language Server Protocolにも対応予定です。
下記はドキュメント「Introduction :: Pkl Docs」からの引用です。
We created Pkl because we believe that configuration is best expressed in a special-purpose configuration language; a blend between a static configuration format, and a general-purpose programming language.
私たちがPklを開発した理由とは、コンフィグレーションはその目的に特化した設定用言語によって記述されることが最善であり、その言語とは静的なコンフィグレーションのフォーマットと汎用的なプログラミング言語をミックスしたものだと信じているからです。
Pklで記述した内容は、JSONやYAML、XMLプロパティリストなど単一のコードから複数の形式で出力可能です。
下記は元になるPklのコード。
上記のコードからJSON形式で出力した例。
YAMLで出力した例。