Каково текущее состояние оптимизации хвостового вызова для F# на Mono (2.11)?
Каково текущее состояние реализации Tail Call Optimization (TCO) в Mono (2.11)? Где-то читал, что вся кодовая база должна быть изменена для использования соглашения callee-pops-arguments. Каков статус этого изменения? Актуален ли порт ARM/Linux по этому вопросу?
Спасибо!
1 ответ
Хвостовые вызовы определенно работают на моно на Linux - протестировано с помощью
let rec f a = f (a+1)
который не вылетел - проверено на Mono 2.10.2
ОБНОВИТЬ
Протестировано по ссылке от Брайана - https://bugzilla.novell.com/show_bug.cgi?id=476785
который падает на Mono 2.10.2 несмотря на генерацию .tail
инструкции