我最近刚刚学习过haskell。
我在* .hs文件中编写此代码,并在emacs中运行ghci。
climbS :: (Fractional a, Enum a, Num a, Integral a) => a -> a
climbS nn = sum [n | n <- [1..(div nn 2)]]
我将代码放在ghci中,并获得climbS
λ> climbS 3
climbS 3 :: (Integral a, Fractional a) => a
但是如果我直接表达了表达式,我得到了我想要的回报
λ> let nn = 4 in sum [n | n <- [1..(div nn 2)]]
3
它是如何发生的,我该如何解决?
谢谢。