[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Eval, tail calls, (current-module), and backward compatibility
From: |
Mark H Weaver |
Subject: |
Re: Eval, tail calls, (current-module), and backward compatibility |
Date: |
Sat, 21 Jan 2012 14:06:14 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) |
David Kastrup <address@hidden> writes:
> Mark H Weaver <address@hidden> writes:
>
>> Remember, (current-module) is a compile-time concept, not a run-time
>> concept.
I should clarify this statement. (current-module) is used by the code
that's doing the compiling (e.g. the REPL), _not_ by the code that's
being compiled. It is a run-time variable used by REPLs and compilers
to keep track of which module should be used to compile the next form.
> Then current-module should probably be a macro, not a function. In
> which case the tail call problem would take care of itself.
A core syntax form to retrieve the module name baked into a given
identifier (a constant) would probably be useful, and indeed I suspect
we'll have it in 2.0.4 because it'll be needed for Andy's implementation
of `local-eval'.
However, that's a different concept from (current-module), therefore it
would need a different name. To understand (current-module), please
read my first post in this thread. It would make no sense as a macro.
Mark
- Re: Eval, tail calls, (current-module), and backward compatibility, (continued)
- Re: Eval, tail calls, (current-module), and backward compatibility, Ludovic Courtès, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Ludovic Courtès, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Ludovic Courtès, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/18
Re: Eval, tail calls, (current-module), and backward compatibility, David Kastrup, 2012/01/21
Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/23