News for hackers. Stuff that matters.
Re:Imperative Haskell by skybrian on Wednesday May 31, 2017 @12:13PM (#14453624)
It's not observable to the calling function (the return value didn't change) so it doesn't count.

Perhaps a way to think about it is as a way defining the contract between a library function and its callers regarding what substitutions are permissible. For example, substituting a faster algorithm is likely observable to the end user, but the calling function will continue to return the same value so it's a compatible substitution.

Similarly, turning on compiler optimizations or debug logging should not be a correctness issue, though it certainly matters or we wouldn't do it.

There are no comments on this comment yet.