[Mono-devel-list] FW: Scheme on the CLR

Michal Moskal michal.moskal at gmail.com
Sun Dec 5 16:19:40 EST 2004

On Fri, 03 Dec 2004 18:12:17 -0500, Duncan Mak <duncan at ximian.com> wrote:
> > Anyone knows why it does not run with mono?
> I go to Northeastern, I was at school earlier today and talked with the
> Prof. Joe Marshall who wrote a lot of this code.
> We tested on Mono 1.1.2 on Windows and HEAD on my Linux laptop. It looks
> like we're running into a stack overflow problem.

Mono doesn't support the tail prefix in all situations -- there are
two restrictions:

  1. the call needs to be a plain call, not callvirt
  2. the called method has to have the same signature as the calling method

I'm not sure if this Scheme implementation violates both, or only the
second restriction, but it surely does, as Scheme standard requires
implementation to have proper tail calls.

And of course if you relay on having tail calls not increase the stack
size, and they do, you get a stack overflow.

: Michal Moskal ::: http://nemerle.org/~malekith/ :: GCS !tv h e>+++ b++
: ::: Logic is a nice contrast to the Real World. :: UL++++$ C++ E--- a?

More information about the Mono-devel-list mailing list