multiply :: Int -> Int -> Int
multiply a b = a * b
minus :: Int -> Int -> Int
minus a b = a - b
minus2 :: Int -> Int -> Int
minus2 a b = b – a
minus2 (multiply (minus 3 5) 7) 9
minus2 ((minus 3 5) * 7) 9
9 - ((minus 3 5) * 7)
9 - ((3 - 5) * 7)
9 - ((-2) * 7)
9 - (-14)
23运行行minus2 (multiply (minus 3 5) 7) 9是否有正确的计算顺序,Haskell将使用?
仍然是函数式编程的新手,所以我不确定我的“惰性计算”过程是否正确。
发布于 2018-09-23 17:21:58
您可以通过将子表达式替换为(error "x")、(error "y")等来测试您的假设。首先评估的错误是在您运行表达式时出现的错误。
https://stackoverflow.com/questions/52461791
复制相似问题