我用python和sapid lisp本身实现了一个小的lisp解释器(sapid lisp at google code)。也许它的主要特点是通过异常实现尾部和相互递归优化。实现细节在这里。相对于标准技术的优势在于,应用于递归解释器以获得尾递归优化的更改有限。劣势可能是时机问题。
我发现在python装饰器( )中使用了类似的技术。
我将无限递归函数定义为:>>> f()然后我给这个函数打了电话,结果发生了这样的事情:Traceback (most recent call last>>sys.setrecursionlimit(2147483647) #as 2147483647 is the highest number I can set for recursion in Python"<stdin>", lin
我在python中的实现非常类似于c(选择枢轴,围绕它进行分区,并在越来越小的分区上递归)。我还以为不是奏鸣曲。 u = qsort([x for x in list[1:] if x >= pivot])让我们调用递归方法实际上,对于递归方法来说,即使是1000 elems,“cmp中的最大递归深度也超过了”。我在sys.setrecu