DHALL
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
Dhall Preview.
At a glance
| Purpose | A Dhall configuration file: a typed, total functional configuration language. |
| Extensions | .dhall |
| Poka parser | poka-dhall |
| Viewer | poka-metadata-card-viewer |
| Depth tier | Metadata card (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-dhall/src/main.rs (222 lines) and plugin.json in full. The crate has no unit tests and no tests/samples.rs, and the corpus has no .dhall and .dhall-config sample, so the tier rests on reading the code. Covers .dhall and .dhall-config. The output is a metadata card of counts found by matching text line by line: let bindings, in keywords, lambdas and forall, local, remote and environment imports, merge expressions, record merge and override operators, Some and None, assert and toMap, type and primitive uses, union markers, if expressions and line counts. Judgement: B4, because the structure is summarised but the source itself is never shown.
What Poka does not read
- The source text is not shown: the card carries only counts and a few sample names, with no code view or highlighting
- Constructs are found by matching text line by line, not by parsing, so multi-line declarations, nested or indented definitions and keywords inside strings or comments can be miscounted
- Files over 16 MiB are cut to the first 16 MiB (the card says so)
- Text that is not UTF-8 is decoded with replacement characters; no other encoding is tried
- Imports are not resolved and the expression is not evaluated, so the configuration it produces is not shown
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- serde_dhall (dhall-rust) (candidate; BSD-2-Clause; Rust; https://github.com/Nadrieril/dhall-rust) — Reads Dhall into Rust types; implements most of standard v20.0.0 (no import headers); maintainer has stopped maintaining it.
- dhall-haskell (candidate; BSD-3-Clause; Haskell; https://github.com/dhall-lang/dhall-haskell) — Haskell Dhall packages incl. core dhall; reference-implementation status not stated on the page.
- dhall-golang (candidate; MIT; Go; https://github.com/philandstuff/dhall-golang) — Go bindings; PEG-generated parser.
- tree-sitter-dhall (candidate; MIT; JavaScript/C; https://github.com/jmitchell/tree-sitter-dhall) — Work-in-progress grammar; 187 of 190 test files parse.
Sources
- parsers/poka-dhall/src/main.rs
- parsers/poka-dhall/plugin.json