From: Stefan Monnier <monnier@iro.umontreal.ca>
To: help-gnu-emacs@gnu.org
Subject: Re: Is there a way to instrument for edebug a form (say, a progn) given to `eval'?
Date: Sat, 02 Jan 2016 12:39:47 -0500 [thread overview]
Message-ID: <jwvziwo3wnc.fsf-monnier+gmane.emacs.help@gnu.org> (raw)
In-Reply-To: 87lh89uw87.fsf@gmail.com
> "[...] a program that uses eval. It can't be compiled and optimized as well
> as the earlier paragraph, and the language context in which it is run
> may change the result."
The reason why it can't be compiled/optimized is that it's very
difficult to analyze/understand precisely what can happen.
And this difficulty doesn't only apply to automated tools like
compilers/optimizers but also to humans. Basically, when execution gets
to "eval" *anything* can happen. So modifying code that uses "eval"
without affecting its behavior is terribly difficult.
So it makes for code that's difficult to maintain. There are cases
where "eval" is just what you need, of course, but you should keep in
mind that it's too powerful to use it in cases where something else
would work as well.
Stefan
prev parent reply other threads:[~2016-01-02 17:39 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-30 12:35 Is there a way to instrument for edebug a form (say, a progn) given to `eval'? Marcin Borkowski
2015-12-30 17:11 ` Drew Adams
2015-12-30 17:29 ` Michael Heerdegen
2016-01-04 22:30 ` Marcin Borkowski
2016-01-04 22:58 ` Drew Adams
2016-01-05 9:26 ` Marcin Borkowski
2016-01-04 23:26 ` Michael Heerdegen
2016-01-05 9:16 ` Marcin Borkowski
2016-01-05 20:00 ` Michael Heerdegen
2016-01-05 20:08 ` Marcin Borkowski
2016-01-05 4:41 ` Stefan Monnier
2016-01-05 9:04 ` Marcin Borkowski
2016-01-05 12:43 ` Stefan Monnier
2016-01-01 13:48 ` Thorsten Jolitz
2016-01-01 14:22 ` Stefan Monnier
2016-01-01 15:59 ` Thorsten Jolitz
2016-01-02 17:39 ` Stefan Monnier [this message]
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=jwvziwo3wnc.fsf-monnier+gmane.emacs.help@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=help-gnu-emacs@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).