> Hello, > > > There is one _very_ serious problem with using GCC to compile Scheme, or > > at least there was the last time I researched this issue: tail calls. > > I might be wrong about this, but I thought that GCC supported multiple > calling conventions, with the user telling GCC which one to use > (cdecl, fastcall, possibly others). If so, it must have some way to > represent that in its intermediate representations. We might be able > to add our own calling convention. > > I also know that GCC has an --optimize-sibling-calls argument, which > will make it do something similar to at least some regular C calls. > I'm not sure if it's possible, but maybe we could arrange for whatever > code transformation implements this to be run on every Scheme call. > > Noah >
I'm reading the paper given by Mark. Though I confused with this "call convention" problem, I thought the point maybe that we can hardly get a optimized result all by GCC. But if we arrange it manually or restrict it to certain call convention except cdecl, it's not perfect for GCC?(But I don't think we need perfect) According to the paper, some scheme compiler provided "tail call" based on a modified standard C compiler. I think it's similar to arrange/restrict solution. I'm not sure if my understanding is correct. Anyway, I'll finish reading this paper. -- GNU Powered it GPL Protected it GOD Blessed it HFG - NalaGinrut --hacker key-- v4sw7CUSMhw6ln6pr8OSFck4ma9u8MLSOFw3WDXGm7g/l8Li6e7t4TNGSb8AGORTDLMen6g6RASZOGCHPa28s1MIr4p-x hackerkey.com ---end key---