Closed
Description
#1711 raised my attention to this contract that I somehow hadn't been aware of before.
dhall-haskell/dhall/src/Dhall.hs
Lines 265 to 300 in 0c4b59a
If I understand this contract correctly, we have at least two Decoder
s that break it:
dhall-haskell/dhall/src/Dhall.hs
Lines 939 to 940 in 0c4b59a
dhall-haskell/dhall/src/Dhall.hs
Lines 968 to 971 in 0c4b59a
We also use these Decoder
s in the instances for Set
and HashSet
.
I've also suggested defining contract-breaking Decoder
s to @SiriusStarr before…
What's the reasoning behind this contract?
If we want to keep this contract, we should document it in the haddocks for Decoder
.