[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP
From: |
Pip Cet |
Subject: |
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP |
Date: |
Tue, 2 Mar 2021 15:19:14 +0000 |
On Tue, Mar 2, 2021 at 2:32 PM Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> I view the ELisp interpreter as a crutch to bootstrap the system.
Well, I view the bytecode compiler as a crutch to get to LIMPLE for
native compilation ;-)
I'm all for a revolution, but it might be a bit early to chop off this
particular king's head...
> AFAIK the only really good reason why we still have it is for the
> benefit of debugging: debugging byte-compiled code (whether with Edebug
> or with the backtrace debugger) is a lot more constraining than
> debugging interpreted code, mostly because it loses the information
> about the currently bound lexical variables.
> All other uses of it could
> be replaced by something like
>
> (defun eval (exp) (funcall (byte-compile `(lambda () ,exp))))
Except for the ones that can't. ELC is still limited to 64K constants
in the vector, for example, isn't it? It's a bit late in the century
for 16-bit limits...
But as for the original question, do we have to have Flet? I just
defined a macro called let which builds a closure and calls it, and it
crashed my Emacs. But if it would work, could we get rid of this
entire (C) function?
Oh, right, I assumed lexical scoping...
Pip
- [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Naoya Yamashita, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Naoya Yamashita, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP,
Pip Cet <=
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Eli Zaretskii, 2021/03/02