I’m trying to freeze an import for Prelude/JSON/Type but I keep seeing strange behaviour:
$ dhall hash <<<https://prelude.dhall-lang.org/v16.0.0/JSON/Type
sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759
$ dhall <<<'https://prelude.dhall-lang.org/v16.0.0/JSON/Type sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759'
dhall:
↳ https://prelude.dhall-lang.org/v16.0.0/JSON/Type sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759
Error: Import integrity check failed
Expected hash:
↳ 40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759
Actual hash:
↳ c8675d83d1accca06409a48308b85fafa40a07a7c024422bdc6d3c2396484622
1│ https://prelude.dhall-lang.org/v16.0.0/JSON/Type sha256:40edbc9371979426df63e064333b02689b969c4cfbbccfa481216d2d1a6e9759
(input):1:1
This is consistent: when I check the hash with dhall hash
(or when I try to freeze an import with dhall freeze
) I get the 40edb...
hash; but if I try to use an import with that hash protecting it, I get the import failure.
Does anyone know where to begin debugging this? Why does dhall hash
think the import has one hash, but dhall
itself think this hash is incorrect?