为什么作者声称这个函数调用不是递归调用?

时间:2014-03-03 21:47:52

标签: haskell monads state-monad

作者声称下一次通话不是递归通话,但我不明白为什么。

Taken from a Caltech course slides

来源:http://courses.cms.caltech.edu/cs11/material/haskell/lectures/haskell_lecture_5.pdf

1 个答案:

答案 0 :(得分:7)

代码递归的(它是根据自身定义的)。我相信@ leftroundabout关于强调功能的想法是准确的。下一张幻灯片说明了

do putY (y - x)
   gcdST

Recursive data definition
* not recursive function call
* like ones = 1 : ones

即。没有递归函数调用因为gdcST不是函数(它不需要参数!)。这是一个递归数据定义。