Apple выпустила язык программирования Pkl (также произносится как Pickle), предназначенный для определения конфигурации и пропаганды модели «конфигурация как код».
Pkl представляет собой встраиваемый язык для определения конфигураций, обладающий широкой поддержкой шаблонов и проверки данных. Его применение может охватывать всё, начиная с простых задач и заканчивая сложными конфигурациями. Инструментарий Pkl написан на Kotlin и доступен под лицензией Apache, с плагинами для сред разработки IntelliJ, Visual Studio Code и Neovim.
Этот язык обладает уникальным сочетанием декларативного подхода с расширенными возможностями языков общего назначения. Он поддерживает аннотации типов, классы, функции, вычислительные выражения, условия и циклы.
Pkl способен создавать статические конфигурации в форматах JSON, YAML и XML, а также генерировать модули для обработки конфигураций на различных языках программирования. Его интеграция возможна с Java, Kotlin, Go, Swift и Spring.
Особенностями Pkl являются гибкие средства для определения условий и проверок корректности значений конфигурации, что помогает выявлять ошибки на ранних этапах разработки. Например, можно задать диапазон значений или условия для параметров конфигурации, а в случае нарушения условий, валидатор выдаст ошибку, что способствует созданию надёжных конфигураций.


