Re: [VM] Tail recursion and multiple values

2009-03-02 Thread Andy Wingo
Heya, On Mon 02 Mar 2009 00:48, l...@gnu.org (Ludovic Courtès) writes: 1) It is expected that you don't have tail recursion between interpreted and VM code. 2) This particular problem manifests itself in that call-with-values is VM code (when r5rs.scm is compiled). (The

Re: [VM] Tail recursion and multiple values

2009-03-02 Thread Ludovic Courtès
Hello! Andy Wingo wi...@pobox.com writes: On Mon 02 Mar 2009 00:48, l...@gnu.org (Ludovic Courtès) writes: As for (1), I'm unsure. The issue is that as long as running code with the interpreter is the default, people may hit this kind of problem, which is, well, problematic. Now, I have

eval-case and toplevel prohibitions

2009-03-02 Thread Andy Wingo
Hi all, I've been hacking at the compiler in recent days, separating out expansion from compilation (currently they are intertwingled, which produces some bugs), and making GHIL a more simple language, more amenable to optimization. I've grown to really like syncase in its psyntax.scm

Re: [VM] Tail recursion and multiple values

2009-03-02 Thread Andy Wingo
Howdy howdy, On Mon 02 Mar 2009 22:55, l...@gnu.org (Ludovic Courtès) writes: Andy Wingo wi...@pobox.com writes: The compiler recognizes both call-with-values and @call-with-values, so we could just not compile call-with-values; less nasty, but still nasty, and penalizes the vm in the

Re: [VM] Tail recursion and multiple values

2009-03-02 Thread Andreas Rottmann
Andy Wingo wi...@pobox.com writes: I understand. I wish that we lived in a world in which (timewise) compilation + running == interpretation, so we could just do the former, but that is not yet our world. However both Chez and SBCL have the former model, so in a software engineering sense it