[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tail call reduction
From: |
Oliver Scholz |
Subject: |
Re: tail call reduction |
Date: |
Thu, 10 Feb 2005 11:21:19 +0100 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux) |
My keyboard is haunted by evil spirits. Lots of mistyping in my
previous post. I am not going to offer corrections for the bad
English. But one typo is especially problematic if actually somebody
would take the pain to read my made-up lapcode:
Oliver Scholz <alkibiades@gmx.de> writes:
[...]
> byte code for fact:
> args: (n)
> 0 goto 3
>
> ;; *** the following used to be `fact-iter' ***
> 1:1 varbind r
> 2 dub
> 3 varbind n
> 4 constant zerop
> 2 call 1
> 3 goto-if-nil 2
> 4 reg-pop
> 6 varref r
> 7 reg-push
> 8 unbind 2
> 9 goto-stack
> 10:2 varref n
> 11 sub1
> 12 varref n
> 13 varref r
> 14 mult
> 15 unbind 2
> 16 goto 1
>
> ;; *** the main body of `fact' ***
> 17:3 constant 4 ; return point
> 18 varref n
> 19 constant 1
> 20 goto 2
This should be "20 goto 1".
> 21:4 return
Oliver
--
22 Pluviôse an 213 de la Révolution
Liberté, Egalité, Fraternité!