[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile-vm 0.4
From: |
Keisuke Nishida |
Subject: |
Re: guile-vm 0.4 |
Date: |
Tue, 10 Apr 2001 17:44:52 -0400 |
User-agent: |
Wanderlust/2.4.0 (Rio) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/21.0.102 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) |
At 10 Apr 2001 14:04:06 -0500,
Rob Browning wrote:
>
> So presuming this is a no-no, what are the rules for combining
> byte-compiled and non-byte-compiled code? Is that supposed to work?
They should work together in most cases. The only case that
is not work is tail-recursive calls. For example, the following
code causes a problem:
(let loop ()
(catch #t
(lambda () (loop))
(lambda val val)))
Here, `catch' is a primitive procedure, and `loop' is a vm program.
Although `loop' is supposed be tail-called, it actually calls a new
vm and consumes the vm stack. I'm not going to fix this right now
because it's not a big problem for the moment.
(BTW, Guile does not support it, either:
guile> (let loop () (catch #t (lambda () (loop)) (lambda val val)))
$1 = (stack-overflow #f "Stack overflow" #f #f)
Is this supposed?)
Keisuke
- guile-vm 0.4, Keisuke Nishida, 2001/04/07
- Re: guile-vm 0.4, Rob Browning, 2001/04/08
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/09
- Re: guile-vm 0.4, Rob Browning, 2001/04/09
- Re: guile-vm 0.4, Rob Browning, 2001/04/09
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/10
- Re: guile-vm 0.4, Rob Browning, 2001/04/10
- Re: guile-vm 0.4,
Keisuke Nishida <=
- Re: guile-vm 0.4, Marius Vollmer, 2001/04/10
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/10
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11
- Re: guile-vm 0.4, Keisuke Nishida, 2001/04/11
- Re: guile-vm 0.4, Rob Browning, 2001/04/11