[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: status of "eval in scheme"
From: |
Ludovic Courtès |
Subject: |
Re: status of "eval in scheme" |
Date: |
Sun, 04 Oct 2009 00:11:52 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hello!
Andy Wingo <address@hidden> writes:
> The second option is to bootstrap from the C compiler, using an
> interpreter written in C *simply to compile eval.scm*.
[...]
> The semantics of the Scheme `eval' should match the semantics of the
> Scheme compiler, and the semantics of the C `eval'
So did you look into generating the latter from the former? Or is it
easier to transliterate it by hand?
> Actually, Scheme does have a way to deal efficiently with multiple
> arguments: SRFI-16's case-lambda. Guile needs to compile case-lambda to
> appropriate bytecode in which the /callee/ -- the procedure itself --
> dispatches on its arguments, potentially raising a wrong-num-args error
> itself. (Currently in the VM, the caller checks the argument count.)
> This entails a change in the calling convention, and thus in the
> VM and the debugging tools, and a change in Tree-IL. It's a big one. I
> have the low-level bits implemented in my case-lambda branch, but it's
> going to be another week or two until it's baked.
Sounds interesting!
I appreciate the summary (as usual) and the nice perspectives. :-)
Thanks,
Ludo’.