Это выражение неверно.Ограничение мономорфизма, ghci и выражение
f = show
Однако в GHCI это законны
let f = show
Кроме того, его тип изменяется на
() -> String
Есть ли объяснение этого явления?
Это выражение неверно.Ограничение мономорфизма, ghci и выражение
f = show
Однако в GHCI это законны
let f = show
Кроме того, его тип изменяется на
() -> String
Есть ли объяснение этого явления?
ghci запрос ведет себя так, как если бы расширение ExtendedDefaultRules
включено.
В частности, это означает, что:
типа блока() добавляется в начало стандартного списка типов , которые пытались при выполнении типа недобросовестным.
Таким образом, чтобы получить такое же поведение из исходного файла, либо скомпилировать с -XExtendedDefaultRules
, или добавить {-# LANGUAGE ExtendedDefaultRules #-}
в верхней части файла.