Я работаю над книгой по Haskell. Это следующий пример:
ghci> Right 3 >>= \x -> return (x + 100)
Ожидается, что это взорвется с этой ошибкой:
<interactive>:1:0:
Ambiguous type variable `a' in the constraints:
`Error a' arising from a use of `it' at <interactive>:1:0-33
`Show a' arising from a use of `print' at <interactive>:1:0-33
Probable fix: add a type signature that fixes these type variable(s)
Когда я его запускаю:
$ ghci
Prelude> Right 3 >>= \x -> return (x + 100)
Я получил:
Right 103
т.е. я не получаю ожидаемой ошибки.
Возможно, компилятор или библиотека изменились, но я не знаю, как это проверить.
Мой вопрос: Почему в этом сценарии ghci не выдает ожидаемую ошибку переменной неоднозначного типа?
Error
использовался в GHCi. Кто-нибудь знает историю, стоящую за этим? - person Alec   schedule 02.01.2018