Возможно из текста это почему-то не очевидно, но сравнивались не сериализованные представления фунций, а сами функции. Т.е. compare и (=) применялись к одним и тем же значениям с разным результатом без очевидного объяснения.
То есть, я возмущаюсь тем, что (=) кидает исключение, а compare - нет. С моей точки зрения это баг, и compare должен тоже кидать исключение.
А баг этот замели под ковер и написали, что compare _может_ кинуть исключение. А может и не кинуть. И теперь этот как бы не баг, а фича.
Так понятнее?
PS Противопоставления OCaml <-> Haskell в моем посте не было, и не надо его сюда приплетать.
no subject
То есть, я возмущаюсь тем, что (=) кидает исключение, а compare - нет. С моей точки зрения это баг, и compare должен тоже кидать исключение.
А баг этот замели под ковер и написали, что compare _может_ кинуть исключение. А может и не кинуть. И теперь этот как бы не баг, а фича.
Так понятнее?
PS
Противопоставления OCaml <-> Haskell в моем посте не было, и не надо его сюда приплетать.