From: Miles Bader <miles@gnu.org>
Subject: Re: tail call reduction
Date: Fri, 04 Mar 2005 09:15:46 +0900 [thread overview]
Message-ID: <87u0nsp8p9.fsf@tc-1-100.kawasaki.gol.ne.jp> (raw)
In-Reply-To: <87wtspsz0m.fsf@ID-87814.user.uni-berlin.de> (Oliver Scholz's message of "Wed, 02 Mar 2005 19:06:49 +0100")
Oliver Scholz <alkibiades@gmx.de> writes:
>>> I recommend you check out the lexbind branch which introduces
>>> static scoping
>>
>> For those who aren't users of the cvs and other such programs,
>> where do you get this lexbind emacs-version?
>
> Unless I am mistaken (and somebody packaged it and put it on the web
> somewhere) you can get it only with cvs or "other such programs" (such
> as GNU arch). With cvs you can use the option "-r lexbind" to check
> out the lexbind branch.
Yes as far as I know it's only available via CVS (as you say, the
"lexbind" tag, using something like "cvs co -r lexbind emacs") or GNU
arch (my `miles@gnu.org--gnu-2005/emacs--lexbind--0' branch).
BTW, it's quite usable as your normal emacs (I use it), i.e., it doesn't
crash a lot or anything. However, it's really no different in behavior
from stock Emacs unless you explicitly mark certain source files as
"lexically bound" -- and then it's more for someone interested in
hacking on the byte compiler than for production use.
Basically, the status of the lexbind branch is this:
* Lexical binding should work properly in interpreted lisp code.
* The runtime support for lexically-bound compiled code should work
fine (it's not particularly complicated).
* HOWEVER, the byte-compiler fails to compile certain types of code
properly when using "lexically-bound" mode.
It should compile straight-forward code properly (e.g. normal
variables just used within a function), but incorrectly handles many
cases where it must pass explicit lexical environments around (e.g.,
where a lambda expression uses a lexically bound variable from the
surrounding environment). [Much of the compiler support for this is
written, just not debugged and made to work.]
If you are interested in the issue, however, I'd certainly appreciate
some help... :-) I haven't actively worked on it for a while, but
I keep the branch up-to-date, and make sure the code doesn't bit-rot.
-Miles
--
If you can't beat them, arrange to have them beaten. [George Carlin]
next prev parent reply other threads:[~2005-03-04 0:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-10 9:39 tail call reduction Oliver Scholz
2005-02-10 10:21 ` Oliver Scholz
2005-02-10 14:56 ` Stefan Monnier
2005-02-10 22:45 ` Oliver Scholz
2005-02-11 4:50 ` Stefan Monnier
2005-03-02 16:20 ` David Combs
2005-03-02 18:06 ` Oliver Scholz
2005-03-04 0:15 ` Miles Bader [this message]
[not found] ` <mailman.2542.1109897787.32256.help-gnu-emacs@gnu.org>
2005-03-04 0:56 ` Johan Bockgård
2005-03-04 14:01 ` Miles Bader
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87u0nsp8p9.fsf@tc-1-100.kawasaki.gol.ne.jp \
--to=miles@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).