gcc -fPIC 似乎与优化标志混在一起
从这个问题开始: how-do- i-check-if-gcc-is-performing-tail-recursion-optimization,我注意到将 gcc 与 -fPIC 一起使用似乎会破坏这种优化。我正…
为什么 Clojure 在递归添加函数上比 Scala 快得多?
一位朋友给了我这个 Clojure 代码片段 (defn sum [coll acc] (if (empty? coll) acc (recur (rest coll) (+ (first coll) acc)))) (time (sum (range …
为了实现尾调用优化,jvm 必须牺牲什么?
人们说,除了没有尾部调用优化的限制之外,clojure 实现非常出色——这是 jvm 的限制,而不是 clojure 实现的限制。 http://lambda-the-ultimate.org/…
尾部调用优化有什么大不了的,为什么 Python 需要它?
显然,对于 Python 是否需要尾部调用优化 (TCO) 一直存在很大争议。 当有人向 Guido 发送了一份 SICP 副本时,事情就达到了紧要关头,因为他没有“明…
F# 中如何知道函数是否尾递归
我编写了以下函数: let str2lst str = let rec f s acc = match s with | "" -> acc | _ -> f (s.Substring 1) (s.[0]::acc) f str [] 如何知道 …
DrScheme 中尾部调用优化是如何实现的?
我听说蹦床是实施 TCO 的一种无效方法。 DrScheme(PLAI 方案,技术上)是如何做到的? 它是否以“正确”的方式执行此操作(即生成直接分支到尾部调用…