dhall - Man Page

a programmable configuration language


dhall is the command-line interface to the Dhall language


dhall --file check.dhall

dhall --file error.dhall --explain

dhall hash --file to-hash.dhall

dhall freeze --file with-imports.dhall

dhall repl

dhall diff './file1.dhall’ './file2.dhall’

dhall type --quiet --file check-ci.dhall


version - Display version information

resolve - Resolve imports

type - Infer type of expression

normalize - Normalize an expression

repl - Open a REPL

diff - Show difference between two expressions

hash - Compute hash of expression

lint - Lint an expression, removing dead code

tags - Generate etags (Emacs) file

format - Format an expression

freeze - Add hashes to import statements

encode - Encode a Dhall expression (CBOR)

decode - Decode a Dhall expression

text - Render a Dhall expression to text

to-directory-tree - Convert nested record of Text into a directory


-h --help

Display help


Name of file containing Dhall source


Output file


Add type annotation to output


alpha-normalize output


Don’t use cache to resolve imports


Explain error messages in detail


Display version information


Disable syntax highlighting in output


Format code using only ASCII syntax


Hide source code from error messages

Editor Integration

Up-to-date information on editor integration is available at:



Please report any bugs you may come across to https://github.com/dhall-language/dhall-haskell/issues.