Dhall ≈ JSON + Functions + Types + Imports

Human-friendly

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

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

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.

You can safely import and evaluate untrusted Dhall code, even code authored by malicious users.

Learn More

Tough on messes

Dhall is built for large and weird configuration schemas.


Don't let the types fool you: 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

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