Каково текущее состояние оптимизации хвостового вызова для F # на Mono (2.11)? - PullRequest
8 голосов
/ 07 марта 2012

Каково текущее состояние реализации Tail Call Optimization (TCO) в Mono (2.11)? Где-то читал, что всю кодовую базу нужно будет изменить, чтобы использовать соглашение callee-pops-arguments. Каков статус этого изменения? Актуален ли порт ARM / Linux по этому вопросу?

Спасибо!

1 Ответ

3 голосов
/ 07 марта 2012

Вызовы Tail определенно работают на моно на linux - протестировано с использованием

let rec f a = f (a+1)

, которое не вылетело - протестировано на Mono 2.10.2

UPDATE

Протестировано сссылка от Брайана - https://bugzilla.novell.com/show_bug.cgi?id=476785

, которая падает на Mono 2.10.2, несмотря на генерацию .tail инструкций

...