{"adoption": {"forks": 184, "observed_at": "2026-08-28T04:08:51.069632+00:00", "stars": 4475}, "canonical_url": "https://ross.abutalabs.com/products/dhall-lang", "card": {"archived": false, "artifact_type": "library", "description": "Maintainable configuration files", "domain": ["programming-languages", "developer-tools"], "enriched": true, "function": ["configuration-management", "serialization", "type-system", "interpreter", "testing"], "health_score": 90, "homepage": "https://dhall-lang.org", "language": "Dhall", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["dhall-lang/dhall-lang"], "name": "dhall-lang/dhall-lang", "platform": ["cross-platform", "cli", "windows"], "pushed_at": "2026-08-20T19:02:28+00:00", "repo": "dhall-lang/dhall-lang", "stars": 4475, "tags": ["configuration-language", "dhall", "json", "yaml", "language-standard", "total-language", "semantic-hashing", "prelude", "devops", "configuration-management", "linux", "macos"], "topics": ["dhall", "configuration-language"], "urls": [], "use_cases": ["generate json or yaml config files from a programmable language", "reduce repetition and drift in large kubernetes yaml configs", "safely evaluate untrusted configuration code", "refactor configuration files with semantic hash guarantees", "share a single source of truth config across multiple languages", "validate config files against a type system"], "what_it_is": "Dhall is a programmable, non-Turing-complete configuration language with functions, types, and imports, formally specified so multiple language bindings can evaluate the same files. This repository hosts the language standard, compliance test suite, standard Prelude library, and shared ecosystem infrastructure.", "when_to_avoid": ["you need a Turing-complete configuration or scripting language", "your toolchain only accepts plain JSON/YAML and you cannot run converters", "your language has no Dhall binding and external executables are impractical"], "when_to_choose": ["you need maintainable, typed, DRY configuration instead of raw JSON/YAML", "you want safety guarantees like no hangs, crashes, or side effects in config evaluation", "you need one config source consumed by several programming languages via official bindings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dhall-lang", "repo": "dhall-lang/dhall-lang", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:51.069632+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:22:06.560858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1111281e07c0edc4702efe7c293e2861856027d58e683ffff47b16863b9b9619", "fetched_at": "2026-08-28T04:08:51.069632+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dhall-lang/dhall-lang"}, {"content_hash": "8b98d215d0e05d6541914e096d79b93fab18eccf8861ad29c195b890e8499fc5", "fetched_at": "2026-08-29T09:07:01.036173+00:00", "kind": "homepage", "missing": false, "url": "https://dhall-lang.org"}, {"content_hash": "ae05f4ed7044cdbea63449f178ab796673c734f96de7e27319503a1c74a7fd25", "fetched_at": "2026-08-29T09:07:01.045282+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/tutorials/Getting-started_Generate-JSON-or-YAML.html"}, {"content_hash": "b18bbc325dd4e79f10dcc53e0852acda136135199738fc1ce965b7e744f92a56", "fetched_at": "2026-08-29T09:07:01.047868+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/discussions/Core-language-features.html"}, {"content_hash": "fe513c8e13af0009ad0f32f2fef8bb660babd0128388a90e4d68db1b53a7aee4", "fetched_at": "2026-08-29T09:07:01.050571+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/FAQ.html"}, {"content_hash": "60161a38be4f9bb269a7990a4b6ed95edbcde8e1675def58c1f00eca28750f0c", "fetched_at": "2026-08-29T09:07:01.064354+00:00", "kind": "site_page", "missing": false, "url": "https://docs.dhall-lang.org/howtos/How-to-integrate-Dhall.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3286, "days_push": 13, "days_rel": 594, "gap_med": null, "n_releases_24m": 1}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}