苹果开源 Pkl —— 用于生成配置的编程语言

苹果发布了专用于创建配置文件的脚本编程语言 Pkl(发音为 Pickle)。

官网:pkl-lang.org 

Pkl 团队介绍称,该项目旨在应对 JSON、YAML 和属性列表等静态配置格式的不足,提供一种介于静态语言和通用语言之间、「两全其美」的方案。

示例代码

bird.pkl

name = "Swallow"

job {
  title = "Sr. Nest Maker"
  company = "Nests R Us"
  yearsOfExperience = 2
}

bird.json

{
  "name": "Swallow",
  "job": {
    "title": "Sr. Nest Maker",
    "company": "Nests R Us",
    "yearsOfExperience": 2
  }
}

Pkl 的三个设计目标是语法安全、可扩展和 IDE 集成,使用声明式语法、易读易写,但也支持类、函数、条件和循环等常见的编程语言功能。

根据文档,Pkl 可用于生成任何格式的静态配置文件,也可以作为库嵌入在 Java、Kotlin、Swift、Go 等语言的代码中运行。

部分代码示例仓库:

  • https://github.com/apple/pkl-go-examples

  • https://github.com/apple/pkl-jvm-examples

  • https://github.com/apple/pkl-k8s-examples

  • https://github.com/apple/pkl-swift-examples

苹果还同步推出了支持 IntelliJ、Visual Studio Code 和 Neovim 等编辑器的 Pkl 插件,但没有为自家 IDE Xcode 开发插件。