Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成

今回は「Apple、コンフィグレーション生成用の静的型付き言語「Pkl」をオープンソースで公開、単一コードからJSONやYAML、XMLなどを生成」についてご紹介します。

関連ワード (単一、形式、開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Appleは、さまざまなコンフィグレーションファイルを生成するための静的型付言語「Pkl」(発音はPickle=ピックル)をオープンソースで公開しました。

fig

ソフトウェアやクラウドサービスなどの設定に用いるコンフィグレーションファイルはどんどん複雑になってきており、利用者が望む詳細な設定を、一般的なコンフィグレーションファイルのフォーマットとして使われている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で出力した例。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
やはり新型コロナウイルスの影響が色濃く出たCES 2021
ハードウェア
2021-01-18 00:38
eコマースマーケティングのスタートアップ企業Yotpoが約250億円調達、企業価値は約1524億円に
ソフトウェア
2021-03-23 01:40
密避けて 避難所の混雑状況をリアルタイムに可視化
IT関連
2021-03-02 00:44
生成型AIがソフトウェアチームに与える影響とは
IT関連
2023-06-16 08:33
今週の記事ランキング(2021.5.9〜5.13)
IT関連
2021-05-15 02:32
東大松尾研究室発スタートアップの検品AIシステム、東京都のDX推進支援事業に採択
IT関連
2023-08-23 13:53
TISと日本IBM、メインフレームのモダナイゼーションで協業
IT関連
2021-06-07 21:37
グーグルが総額2億2000万円の黒人ファウンダー基金を欧州のスタートアップ30社に分配
VC / エンジェル
2021-06-16 20:52
アクセンチュア、1万9000人の人員削減へ
IT関連
2023-03-25 05:24
新たなAWS経営者にTableauのCEOアダム・セリプスキー氏が選ばれた論理的理由
ネットサービス
2021-03-27 14:40
アップル、Siriに「性別の区別が明確につかない声」を追加
IT関連
2022-02-27 08:58
トッパンフォームズ、顔認証を利用した勤怠打刻でヒューマンテクノロジーズと協業
IT関連
2022-10-29 09:59
MS幹部が語る、サイバーセキュリティ強化の鍵は人材の多様化–AIが果たす役割とは
IT関連
2023-08-29 07:54
デロイトと福島県、データ駆動型農業の実証でブロッコリー栽培を開始
IT関連
2023-10-17 17:20