2008-12-09 42 views
1

我正在讀關於Clojure中,發現了一個關於Java不支持尾調用,在當前版本的討論,那人被拋出異常模擬尾調用的JVM,反正這聽起來像人們正在做一些瘋狂的東西在那裏。所以這讓我想知道C#的尾巴呼叫,同樣的問題?在某些情況下,而不是其他用Java和C#調用尾巴?

回答

6

CLR代碼將尾調用 - 這取決於JIT。

David Broman's blog entryShri Borde's one了。

C#編譯器目前不髮尾調用IL,但有時JIT會做也無妨。

+0

的好文章,所以跟蹤GC就是爲什麼尾調用是有限的。 – 2008-12-09 15:41:43

1

尾遞歸有可能在某些情況下,JVM。例如,Scala要求基本尾遞歸的有效實現(請參閱此博客文章,查找Language Trivia #8,只有我現在可以找到的引用)。有關增加更多支持的討論和研究,與Invoke Dynamic和專用於非Java語言的其他功能一樣。

也有經常關於The Java Posse這些類型的問題進行會談。

是的,我知道,這是完全不回答你的問題......

+0

反正不錯的鏈接,謝謝! – 2008-12-09 15:42:50