Hyrum's law (Was: [RFC] Support Unicode characters in instance Show String)

moving to Haskell Cafe On Thu, 8 Jul 2021, Bardur Arantsson wrote:
On 08/07/2021 17.53, Oleg Grenrus wrote:
[--snip--]
78 out of 2819 tests failed (35.88s)
The use of Show in 'golden' test suites is interesting because Show doesn't really guarantee any real form of stability in its output.
I guess Hyrum's Law applies here too.
Anyway... just an idle observation. Obviously, breaking loads of test suites is going to be hard to swallow.
I found this explanation: https://www.hyrumslaw.com/ Nice to have a name for this observation. I think the problem can be relaxed if there are multiple implementations for the same interface. But then you often find, that the implementations do not even adhere to the interface, thus people start guessing what the interface actually means. I hope that in the future we can describe interfaces more formally, such that a user knows what he can rely on.

Yeah. There’s no good best answer easily. I can imagine having a different set of show instance be part of each Haskell language flavor, but Haskell and ghc aren’t setup for doing that with base libraries for a lot of architectural reasons. On Thu, Jul 8, 2021 at 1:26 PM Henning Thielemann < lemming@henning-thielemann.de> wrote:
moving to Haskell Cafe
On Thu, 8 Jul 2021, Bardur Arantsson wrote:
On 08/07/2021 17.53, Oleg Grenrus wrote:
[--snip--]
78 out of 2819 tests failed (35.88s)
The use of Show in 'golden' test suites is interesting because Show doesn't really guarantee any real form of stability in its output.
I guess Hyrum's Law applies here too.
Anyway... just an idle observation. Obviously, breaking loads of test suites is going to be hard to swallow.
I found this explanation: https://www.hyrumslaw.com/
Nice to have a name for this observation.
I think the problem can be relaxed if there are multiple implementations for the same interface. But then you often find, that the implementations do not even adhere to the interface, thus people start guessing what the interface actually means.
I hope that in the future we can describe interfaces more formally, such that a user knows what he can rely on. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

On Thu, Jul 08, 2021 at 07:20:00PM +0200, Henning Thielemann wrote:
moving to Haskell Cafe On Thu, 8 Jul 2021, Bardur Arantsson wrote:
The use of Show in 'golden' test suites is interesting because Show doesn't really guarantee any real form of stability in its output.
I guess Hyrum's Law applies here too.
I found this explanation: https://www.hyrumslaw.com/
which is: Hyrum's Law An observation on Software Engineering Put succinctly, the observation is this: With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.
participants (3)
-
Carter Schonwald
-
Henning Thielemann
-
Tom Ellis