Pkl Blog

Taking types to the next level

One of the main points of using Pkl is to describe what your configuration looks like. An often overlooked design goal (arguably, the most important), is to forbid invalid configurations. Pkl types allow a great degree of freedom and power in constraining what your data looks like.


Class-as-a-Function Pattern

In many languages, function and method parameters may be assigned default values allowing the argument to be omitted in calls. Many languages also offer named parameters, which aid in API self-documentation. Pkl methods do not provide either feature, but one way to achieve similar results is the "class-as-a-function" (CaaF) pattern.


Pkl Evolution

Today, we launch Pkl Evolution, a new repository that holds Suggested Pkl Improvements, Changes, or Enhancements (SPICEs) for Pkl’s language, tooling, and ecosystem.


Testing in Pkl

Pkl files are programs that get evaluated to produce a result. Like any other program, it can be useful to have tests that verify their business logic. To address this, Pkl provides tooling for writing and running tests.


Introducing Pkl, a programming language for configuration

We are delighted to announce the open source first release of Pkl (pronounced Pickle), a programming language for producing configuration.