[Mono-dev] Mono Tail Call status
Laurent Le Brun
laurentlb at gmail.com
Fri Jul 23 05:26:35 EDT 2010
Hi,
I'm not a Mono contributor, just a F# user.
> what is current status of F# tail calls on Mono? I am doing a master
> thesis on functional languages in .Net and, for the practical part, I
> am planning to improve Mono F# support. Judging from the materials on
> the web, Tail Call Optimization is missing from Mono. Is this still
> true?
There are two bug reports related to F# tail calls:
https://bugzilla.novell.com/show_bug.cgi?id=502575
https://bugzilla.novell.com/show_bug.cgi?id=476785
In simple cases, the F# compiler is able to replace the tail call by a
while loop. When things get a bit more complex, F# compiler emits the
.tail opcode. As far as I know, Mono is able to optimize some of them,
but it fails in some cases (read file attached in bug 502575 for
examples).
As you are talking about F# support, I think the Reflection.Emit bug
with generics is one of the other main problems. Many programs, even
very simple ones, fail in F# Interactive. You see a few examples here:
https://bugzilla.novell.com/show_bug.cgi?id=419828
--
Laurent
More information about the Mono-devel-list
mailing list