The Dhall configuration language

The non-repetitive alternative to YAML


Dhall supports comments, multi-line string literals and string interpolation with non-technical users in mind.

You can also automatically remove all indirection in any Dhall code, converting the file to a logic-free normal form for non-programmers to understand.

Learn More

Turing-completeness is not a feature

Dhall is programmable, but NOT Turing-complete.

We take language security seriously so that your Dhall programs never fail, hang, crash, leak secrets, or compromise your system.

The language aims to support safely importing and evaluating untrusted Dhall code, even code authored by malicious users. We treat the inability to do so as a specification bug.

Safety Guarantees

Tough on messes

Dhall is built for large and weird configuration schemas.

Don't use YAML? No problem!

Dhall can integrate with messy APIs and tools. You can even convert Dhall to ad-hoc and non-standard configuration file formats.

See an Example

Tired of YAML?

Dhall eliminates the YAML quirks that software engineers dread. The language standard learns from the mistakes of the past.

You can also generate either YAML or JSON from Dhall configuration files using tiny statically-linked binaries. Dhall can cheaply fit right in with your existing tools and infrastructure.

Get Started

This work is licensed under a Creative Commons Attribution 4.0 International License.