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
阴影警告。