Каково текущее состояние оптимизации хвостового вызова для 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 инструкции

Другие вопросы по тегам