Compiling tail-calls to simple C?
I'm writing a Lisp-to-C compiler, trying to keep compiler and runtime very simple and close to C, because I want to embed the language into C applications, and use C libraries.
My closures are structs with a C function pointer and an environment.
Ideally, I'd like the language to be properly tail-recursive like Scheme; however, without resorting to techniques like trampolines, Cheney on the M.T.A., or putting the whole program into one function, it seems that the only possible thing is what BitC does:
What do you think about this restriction?
Does anyone have experience with the new tail call optimization of GCC, especially when making an indirect call via a function pointer?
Active forum topics
New forum topics