アップルは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「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のコード。
name = "Swallow" job { title = "Sr. Nest Maker" company = "Nests R Us" yearsOfExperience = 2 }
上記のコードからJSON形式で出力した例。
{ "name": "Swallow", "job": { "title": "Sr. Nest Maker", "company": "Nests R Us", "yearsOfExperience": 2 } }
YAMLで出力した例。
name: Swallow job: title: Sr. Nest Maker company: Nests R Us yearsOfExperience:
この記事は新野淳一氏が運営するメディア「Publickey」が2024年2月5日に掲載した『Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成』を、テクノエッジ編集部が編集・転載したものです。