Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the current state of tail-call-optimization for F# on Mono (2.11)?

What is the current state of Tail Call Optimization (TCO) implementation on Mono (2.11) ? Read somewhere that all the codebase would need to be modified to use a callee-pops-arguments convention. What is the status of this change ? Is the ARM/Linux port up to date on this matter ?

Thanks!

like image 223
user1253673 Avatar asked Mar 07 '12 03:03

user1253673


1 Answers

Tail calls definitely work on mono on linux - tested using

let rec f a = f (a+1)

which didn't crash - tested on Mono 2.10.2

UPDATE

Tested with link from Brian - https://bugzilla.novell.com/show_bug.cgi?id=476785

which crashes on Mono 2.10.2 despite generating .tail instructions

like image 102
John Palmer Avatar answered Nov 08 '22 05:11

John Palmer