Functor, Applicative, Monad, Foldable, Traversable instances for (, , ) a b
Francesco Ariis
fa-ml at ariis.it
Sat Apr 1 00:08:17 UTC 2017
On Sat, Apr 01, 2017 at 07:59:00AM +1000, Tony Morris wrote:
> A contrary, consistent position would mean there is a belief in all of
> the following:
>
> * the length of any value of the type ((,) a) is not 1
> * 0 is not an integer
You keep repeating the same message, I wonder if you read the reply that
have been sent to you. From the other thread (in which, after a brief
threat to fork the compiler, you asked for explanations), Artyom
Kazak kindly answered:
> Okay, I have to admit that in this particular instance it's not quite my
> intuition which causes the pain. Or rather, it's a different kind of
> intuition, which I have acquired from Haskell in particular – "I don't have
> to be particularly careful about minor refactorings, because if I change
> the type of one thing, the compiler will tell me what other things I have
> to change if I want to preserve the logic of my code". The behavior of
> 'length' breaks this intuition because "I'll just pass a tuple here instead
> of whatever I used before" stops being a (relatively) safe refactoring.
No mention of it being "categorically invalid".
Moreover, the message you are replying to now (by Svan Penne) is clearly
illustrates the dichotomy between *type safety* and *consistency*.
Surely everyone (despite their ideas and preferred outcome) can see the
two competing interests?
More information about the Libraries
mailing list