История изменений
Исправление hateyoufeel, (текущая версия) :
Тогда почему такое не прокатывает? Я понимаю, что можно подключить FlexibleContexts, но тогда почему первый вариант работает без этого?
Prelude> let x = [1,2] :: (Num [t], Num t) => [t]
<interactive>:16:18:
Non type-variable argument in the constraint: Num [t]
(Use FlexibleContexts to permit this)
In an expression type signature: (Num [t], Num t) => [t]
In the expression: [1, 2] :: (Num [t], Num t) => [t]
In an equation for ‘x’: x = [1, 2] :: (Num [t], Num t) => [t]
На #haskell тоже через подобный пример с инстансом объясняли.
Исходная версия hateyoufeel, :
Тогда почему такое не прокатывает? Я понимаю, что можно подключить FlexibleContexts, но тогда почему первый вариант работает без этого?
Prelude> let x = [1,2] :: (Num [t], Num t) => [t]
<interactive>:16:18:
Non type-variable argument in the constraint: Num [t]
(Use FlexibleContexts to permit this)
In an expression type signature: (Num [t], Num t) => [t]
In the expression: [1, 2] :: (Num [t], Num t) => [t]
In an equation for ‘x’: x = [1, 2] :: (Num [t], Num t) => [t]
На #haskell тоже через подобный пример объясняли.