刚开始学习Haskell。
我里面有一个空的源文件:
pe :: (Integral a) => a -> a
pe y = sum [x | x <- [1..y-1], x `mod` 3 == 0 || x `mod` 5 == 0]
现在,如果我这样做,我可以这样叫pe:
*Main> pe 1000
233168
如何从源文件中调用它?如果我有
pe 1000
它返回一个神秘的错误:
GHC stage restriction: `pe'
is used in a top-level splice or annotation,
and must be imported, not defined locally
In the expression: pe 1000
我需要在main或其他内容中声明它吗?
最佳答案
是的,您需要将其连接到main
函数。例如,
main = print (pe 1000)
如果要进行多个调用,可以将它们与
do
-notation结合使用:main = do
print (pe 500)
print (pe 1000)
关于haskell - 在Haskell中调用函数-初学者问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6158769/