[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: |
Ludovic Courtès |
Subject: |
Re: Eval, tail calls, (current-module), and backward compatibility |
Date: |
Wed, 18 Jan 2012 22:18:56 +0100 |
User-agent: |
Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux) |
Hi Mark,
Mark H Weaver <address@hidden> skribis:
> The problem is that `eval' uses dynamic-wind to temporarily set
> (current-module) during the dynamic extent of the expansion and
> evaluation of its form.
Excuse my ignorance, but where is this? :-)
What I see doesn’t seem to correspond to this description:
(('apply (f args))
(apply (eval f env) (eval args env)))
> Can we fix this?
>
> Ideally, I think that `eval' should set (current-module) during
> expansion, but _not_ during evaluation. Then it can be properly tail
> recursive. However, some code out there might depend on the existing
> behavior, so I guess we can't change this, at least not in 2.0. Bummer.
Why?
How does 1.8’s CEVAL behave?
It would be good to have test cases written against 1.8 that illustrate
the behavior of (current-module) in different contexts. Then we could
see whether/how the same behavior can be achieved in 2.0.
WDYT?
Thanks,
Ludo’.
- Eval, tail calls, (current-module), and backward compatibility, Mark H Weaver, 2012/01/16
- Re: Eval, tail calls, (current-module), and backward compatibility, David Kastrup, 2012/01/17
- Re: Eval, tail calls, (current-module), and backward compatibility, Mark H Weaver, 2012/01/17
- Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/18
- Re: Eval, tail calls, (current-module), and backward compatibility, Mark H Weaver, 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 <=
- 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, Mark H Weaver, 2012/01/21
- Re: Eval, tail calls, (current-module), and backward compatibility, David Kastrup, 2012/01/21
- Re: Eval, tail calls, (current-module), and backward compatibility, Mark H Weaver, 2012/01/21
Re: Eval, tail calls, (current-module), and backward compatibility, Andy Wingo, 2012/01/23