作者声称下一次通话不是递归通话,但我不明白为什么。
来源:http://courses.cms.caltech.edu/cs11/material/haskell/lectures/haskell_lecture_5.pdf
答案 0 :(得分:7)
代码是递归的(它是根据自身定义的)。我相信@ leftroundabout关于强调功能的想法是准确的。下一张幻灯片说明了
do putY (y - x)
gcdST
是
Recursive data definition
* not recursive function call
* like ones = 1 : ones
即。没有递归函数调用因为gdcST
不是函数(它不需要参数!)。这是一个递归数据定义。