O ghc 7.10 yılında, bu ince derler çıkıyor şu hataylaHaskell neden fonksiyonun serbest versiyonunu belirsiz tip hataya yol açıyor?</p> <pre><code>mysum xs = foldr (+) 0 xs </code></pre> <p>Ama bu:
mysum = foldr (+) 0
sonuçları:
No instance for (Foldable t0) arising from a use of ‘foldr’
The type variable ‘t0’ is ambiguous
Relevant bindings include
mysum :: t0 Integer -> Integer (bound at src/Main.hs:37:1)
Note: there are several potential instances:
instance Foldable (Either a) -- Defined in ‘Data.Foldable’
instance Foldable Data.Functor.Identity.Identity
-- Defined in ‘Data.Functor.Identity’
instance Foldable Data.Proxy.Proxy -- Defined in ‘Data.Foldable’
...plus five others
In the expression: foldr (+) 0
In an equation for ‘mysum’: mysum = foldr (+) 0
Bunun nedeni nedir ve Bu farkı anlayarak elde edilen anlayış nedir? Ayrıca, bu hatayı bu hatayı gidermek için bir tür (hala jenerik) verebilir miyim?
* korkulan monomorfizm kısıtlama tekrar saldırmadan * – AJFarmar
düşündüm Son GHC'de monomorfizm kısıtlaması varsayılan olarak kapatıldı mı? – arrowd
@arrowdodger, bir mektup özlediniz: son GHCi'de monomorfizm kısıtlaması varsayılan olarak kapalıdır. –