Haskell中的奇怪编译错误
为什么在下面的函数中,Haskell中的奇怪编译错误,haskell,Haskell,为什么在下面的函数中,max prod nextProd的类型被推断为Int->Int->Int,而不仅仅是Int import qualified Data.Vector as DV largestProduct::DV.Vector Int->(Int, Int) largestProduct digits = foldl lastProdAndMax (0,0) [1..((DV.length digits) - 13)] where lastProdAndMax _ 1
max prod nextProd
的类型被推断为Int->Int->Int
,而不仅仅是Int
import qualified Data.Vector as DV
largestProduct::DV.Vector Int->(Int, Int)
largestProduct digits = foldl lastProdAndMax (0,0) [1..((DV.length digits) - 13)] where
lastProdAndMax _ 1 = (first, first) where first = DV.foldl (*) 1 $ DV.take 13 digits
lastProdAndMax (prod, max) i = (nextProd, max prod nextProd)
where nextProd = (prod `div` ((DV.!) digits (i-13))) * ((DV.!) digits i)
你的错误是错误的
lastProdAndMax (prod, max) i = (nextProd, max prod nextProd)
^^^
在该范围内,max
是一个Int
(重载max
函数)。您的错误在
lastProdAndMax (prod, max) i = (nextProd, max prod nextProd)
^^^
在该范围内,max
是一个Int
(重载max
函数)。您的错误在
lastProdAndMax (prod, max) i = (nextProd, max prod nextProd)
^^^
在该范围内,max
是一个Int
(重载max
函数)。您的错误在
lastProdAndMax (prod, max) i = (nextProd, max prod nextProd)
^^^
在该范围内,
max
是一个Int
(重载max
函数)。@Julio使用-Wall
GHC标志会触发全局max
阴影警告,指向问题。@Julio使用-Wall
GHC标志会触发全局max
阴影警告,指向问题。@Julio使用-Wall
GHC标志会触发全局max
阴影警告,指向问题。@Julio使用-Wall
GHC标志会触发指向问题的全局max
阴影警告。