Dhall is a programmable configuration language that you can think of as: JSON + functions + types + imports
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
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
Dhall provides a smooth migration path for mature enterprise deployments.
You can convert both ways between Dhall and JSON/YAML or read Dhall configuration files directly into a language that supports a native language binding.Integrations
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.