loader.c程序的问题

时间:2014-09-15 19:15:43

标签: c math lambda-calculus type-theory

前段时间我开始分析loader.c--由Ralph Loader编写的一个程序,作为Bignum Bakeoff竞赛的参赛者(你可以看到我迄今为止的进展here。但是,正如你在那里看到的那样,我有发现了一个我不知道如何处理的问题。问题是 - xx在行xx = Left (lastRight),中取得了什么价值?它显然取得了Derive(xx)给出的答案值 - 它&# 39; s实际上是该子程序中xx的值。但是该子程序需要什么值呢?好吧,我们必须查看那里出现的子子程序,依此类推。这不是无限循环,因为在调用Derive(xx)之前,参数实际上在MAYBE宏中减半。但问题是 - 在程序中,这个数字在任何时候都没有增加;它已经多次减半。从我如何理解这一点,所有这些减半影响我们得到的xx的最终值是0。

总而言之,似乎由于重复的递归调用,xx将变为0,但是在查看程序时没有任何意义。所以我的问题是:

  

xx真的总是值0吗?如果没有,我的推理在什么时候是错误的?

您可以找到Loader程序here的所有部分,以及他的工作原理说明。

提前感谢您的帮助!

0 个答案:

没有答案