Хвост вызова в Java и C #?

голоса
1

Я читал о Clojure и нашел обсуждение Java не поддерживают хвостовые вызовы, в текущей версии, и что люди бросали исключения для имитации хвоста захода в JVM, в любом случае, это звучит, как люди делают некоторые сумасшедший вещей там. Так что у меня интересно о С # хвостового вызова, одни и те же вопросы?

Задан 09/12/2008 в 16:03
источник пользователем
На других языках...                            


2 ответов

голоса
6

код CLR будет хвостового вызова в некоторых случаях, но не другие - это зависит от JIT.

См запись в блоге Дэвида Броман в и Шри Борде один тоже.

C # компилятор не в настоящее время выделяют хвост вызова IL, но иногда JIT будет делать это в любом случае.

Ответил 09/12/2008 в 16:12
источник пользователем

голоса
1

Хвостовая рекурсия возможна на JVM в определенных случаях. Например, Scala просит для эффективной реализации основной хвостовой рекурсии (см этого сообщения в блоге, обратите внимание на языке Пустяки # 8 , только цитаты я мог бы найти только сейчас). Существует говорить и исследование о добавлении больше поддержки, в тех же усилиях , как Invoke Dynamic и другие функции специализированных для не-Java языков.

Существует также довольно часто говорит о том роде вопросы по Java Posse .

И да, я знаю, что это совершенно не ответ на ваш вопрос ...

Ответил 09/12/2008 в 16:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more