Talk:eval
This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||
|
Does Lua have "eval-functionality"? (I just glanced at the docs: http://www.lua.org/manual/5.1/manual.html#2.4.1 : "The unit of execution of Lua is called a chunk...A chunk may be stored in a file or in a string inside the host program" ) teadrinker 23:20, 3 March 2006 (UTC)
- Yes, you can load and execute any string or file in Lua. The result is a "chunk" (or function in other words). For example:
myFunc = loadstring(aCodeString) myFunc()
- or just:
loadstring(aCodeString)() --Loading and executing string at once
This article was previously nominated for deletion. The deletion result was moved to here, and has been removed to: Wikipedia:Articles for deletion/Eval --AllyUnion (talk) 03:34, 30 September 2005 (UTC)
Python section
[edit]The python section claims that python cannot evaluate statements, only functions. Then the two example show calling eval for statements.
What gives?
Dubwai 15:43, 29 December 2006 (UTC)
I missed that there's a distinction between exec and eval. Ignore.
Dubwai 16:46, 29 December 2006 (UTC)
Jonathan Johnson
[edit]The link "Jonathan Johnson on exposing classes to RBScript" looks suspiciously self-promotional to me. Before I included the link to Python documentation, it was the only external link in this article, and it mentions "Jonathan Johnson" as if he is some kind of Computer Science authority (reading his blog you do find out he works for the company that makes RealBasic). If you are reading this, and you agree that it is self-promotion, do erase the link. --Ramalho 03:46, 7 April 2007 (UTC)
Callback
[edit]Perhaps it would be better to demonstrate an example of using eval on a callback situation, since it's a legitimate use.
Azraell Zanella 01:11, 18 July 2007 (UTC)
This article doesn't quite ever mention that eval and apply are related in a yin and yang fashion: in order to (eval '(f x)) your system must make the critical step (apply f x) to get the actual result. To be clear: the code must convert the string f to a callable function f, and then must apply the callable function f to its arguments! Unfortunately, the article on apply says almost nothing about the computer-sciene meaning of this idea.linas (talk) 07:30, 23 November 2007 (UTC)
- Never mind, I added a breif paragraph. The theoretically inclined are invited to expand the article on apply. linas (talk) 18:54, 24 November 2007 (UTC)
Mail merge example
[edit]The mail merge example shown is unnecessarily using eval
to return the contents of a string variable to the print
function. Unless eval
has some effect that I'm just not seeing, that code fragment is a bad example for eval use (the last line could just as easily be written as "print $template;
").
This is not The Daily WTF. --Btx40 (talk) 16:44, 3 July 2008 (UTC)
4chan
[edit]typing eval( into the text field on 4chan will get you a week long ban
though it was worth mentioning —Preceding unsigned comment added by 213.107.10.216 (talk) 22:15, 3 June 2009 (UTC)
Hey
[edit]it takes you to the invasion board —Preceding unsigned comment added by 204.112.224.180 (talk) 21:58, 22 February 2010 (UTC)
Do we need to mention semicolon treatment when it's not just true in eval?
[edit]JavaScript doesn't require semicolons in any code (though it's bad style to leave them off). Why make special mention of eval letting one leave off the final semicolon? Same goes for any other languages that insert missing semicolons. —Preceding unsigned comment added by 72.174.169.239 (talk) 00:13, 3 September 2010 (UTC)
Reference to D language is dead
[edit]The link in references to D's eval function seems dead. Should be updated. — Preceding unsigned comment added by 165.123.202.137 (talk) 18:26, 1 March 2014 (UTC)
External links modified
[edit]Hello fellow Wikipedians,
I have just modified 2 external links on Eval. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
- Added archive https://web.archive.org/web/20061010123451/http://livedocs.macromedia.com/flash/8/index.html to http://livedocs.macromedia.com/flash/8/index.html
- Added archive https://web.archive.org/web/20030322002401/http://www.cs.queensu.ca/software_docs/gnudev/gcl-ansi/gcl_256.html to http://www.cs.queensu.ca/software_docs/gnudev/gcl-ansi/gcl_256.html
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}}
(last update: 5 June 2024).
- If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
- If you found an error with any archives or the URLs themselves, you can fix them with this tool.
Cheers.—InternetArchiveBot (Report bug) 10:53, 25 September 2017 (UTC)
Is eval
an example of a meta-circular evaluator?
[edit]@Diego Moya: According to this Wikipedia article, eval
and apply
are "instances of meta-circular evaluators." Are there any reliable sources that can verify this? Jarble (talk) 19:50, 4 November 2021 (UTC)
- Jarble Yes; they are part of the definition of what a meta-circular evaluator is, so several of the references in that article mention them, such as this one (section 4.1.1) or this other one (chapter 5). Diego (talk) 20:24, 4 November 2021 (UTC)
- Diego Moya Jarble No. The article is talking about language builtin function eval which provides access to the evaluator for the base language and environment. A meta-circular evaluator implements a new language and environment on top of the base language.
- I think there is confusion due to the meta-circular evaluator in SICP including a function called eval, however that function is implemented on top of the base language, implements a distinct environment, and the semantics of the language it evaluates are arbitrary (i.e. not tied to the base language).
- It is easy to test the difference:
- (define x 1) ;base environment global variable
- x => 1 ;evaluates x in the base language environment
- (eval 'x) => 1 ;builtin function also evaluates x in the base language environment
- (sicp:eval 'x) => undefined or whatever ;the meta-circular evaluator implements a different language and environment to the base language
- I am removing the meta-circular remarks from the article because the topic of the article they are not relevant. The builtin function eval is not meta-circular evaluation.
- I will also check the usage of the references mentioned here. They are indeed examples of implementing an evaluator, however in the context of this article they may be irrelevant or introducing unnecessary confusion as they about the special kind of evaluator which is meta-circular. 14.203.187.123 (talk) 04:41, 28 June 2024 (UTC)
Creating Perl variables with eval
[edit]In more than 20 years of using Perl, I have found eval
most useful for creating variables. I propose adding the following paragraph in the Perl section in the article.
I could add a specific example with Perl code if that would be deemed helpful.
In Perl (and perhaps other languages mentioned in this article),
eval
can be used to create Perl variables.
[1]Ravn007 (talk) 17:36, 18 November 2021 (UTC)