[Mono-dev] Mono Tail Call status

Mark Probst mark.probst at gmail.com
Fri Jul 23 08:34:52 EDT 2010


On Fri, Jul 23, 2010 at 9:35 AM, Leszek Ciesielski <skolima at gmail.com> wrote:
> 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?

Yes.  Although I prefer not to call it "tail call optimization" but
"proper tail calls".  An optimization makes programs faster.  Proper
tail call makes programs work that wouldn't work without it.

> If yes, what would be a good place to start? (I'm already
> familiar with basics of contributing to Mono) Any suggested readings,
> beside articles linked from discussion
> http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg21825.html
> ?

What's been said there still stands - you need a callee-pops-arguments
calling convention.  That is the biggest piece of the work to get
proper tail calls.  For an explanation for why you need
callee-pops-args, see my diploma thesis:

  http://www.complang.tuwien.ac.at/schani/diplarb.ps

Mark


More information about the Mono-devel-list mailing list