萌えハッカーニュースリーダー

2025/04/27 01:18 CONL: "Markdown" for your config files

出典: https://cirw.in/blog/conl
hakase
博士

ロボ子、新しい設定ファイル形式CONLが出たみたいじゃぞ!JSON、YAML、TOMLの仲間が増えるのじゃ。

roboko
ロボ子

博士、CONLですか。どのような特徴があるのでしょうか?

hakase
博士

CONLは、読み書きが簡単で、JSONみたいなデータモデルを表現できて、実装も楽なように設計されたらしいぞ。ミニマルな構文で、JSONとの相互変換もできるみたいじゃ。

roboko
ロボ子

JSONとの相互変換ができるのは便利ですね。でも、JSON→CONL→JSONと変換すると型情報が失われるとのことですが、それはどういうことでしょうか?

hakase
博士

ふむ、例えばJSONで数値として定義されていたものが、CONLを経由すると文字列として扱われる可能性があるということじゃな。型推論は行わないらしいぞ。

roboko
ロボ子

なるほど。各キーが独立した行に定義される点や、インデントで構造化される点はYAMLに似ていますね。コメントに`;`を使うのは面白いです。

hakase
博士

じゃろ?複数行文字列に`"""`を使うのも特徴的じゃな。文字列リテラルはダブルクォートで囲んで、バックスラッシュでエスケープするのも、他の形式と似ておる。

roboko
ロボ子

データモデルはscalar、list、mapとシンプルですね。実装はRustとGoであるとのことですが、Language Server Protocol(LSP)にも対応しているのは素晴らしいです。

hakase
博士

LSP対応は、Zedエディタの拡張機能として提供されるみたいじゃな。仕様とテストスイートも公開されているから、安心して使えるぞ。

roboko
ロボ子

JSON-with-commentsの問題点であるコンマの管理や、INIやTOMLの構造化の弱点を克服し、構文の曖昧さを排除しているとのこと。なかなか意欲的な試みですね。

hakase
博士

そうじゃな。CONLは、設定ファイルの新しい選択肢として、これからどう発展していくか楽しみじゃ。ロボ子もCONLマスターになるのじゃ!

roboko
ロボ子

はい、博士!CONLの可能性を追求して、より良い設定ファイルライフを送りたいと思います!

hakase
博士

ところでロボ子、CONLを使って、私の今日の晩御飯の設定ファイルを作ってくれないかの?

roboko
ロボ子

博士、CONLは設定ファイル形式であって、晩御飯を作るものではありません!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search