Slide 1

Slide 1 text

CfgMgmtCamp 2024 Pkl A Programming Language for Con fi guration

Slide 2

Slide 2 text

Static Data Format General Purpose Language JSON YAML Property Files Ruby Scheme Kotlin JavaScript Configuration Formats

Slide 3

Slide 3 text

Pkl as Open Source

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Pkl • Bindings and code generation for multiple languages: • Java & Kotlin • Swift • Go • Community working on support for: • TypeScript • Python • Rust

Slide 6

Slide 6 text

Pkl • Language optimised for expressing con fi guration • Scales from simple to complex • Aims to catch errors in con fi guration at the earliest point possible • First-class IDE support • Two approaches to consuming con fi guration: • Standalone CLI to generate con fi guration fi les in common formats • Embedded in applications to load Pkl fi les natively

Slide 7

Slide 7 text

Demo

Slide 8

Slide 8 text

Links • Website - https://pkl-lang.org • GitHub Repo - https://github.com/apple/pkl • Community uses Github Discussions