New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
declare eval() and .eval() to be macro-like, make all-caps #50
Comments
|
+1 for EVAL in all-caps, since it is really SPECIAL ;) |
|
+1 for yelling, and maybe it could be dehuffmanised a bit: "EVALUATE". Or is that going too far? |
|
+1 for shouting |
|
I'm not so fond of the uppercasing, but certainly of the macro-ish definition, so we can analyze stuff much better. |
|
Another related possibility is to require that any outer-scoped variables that are to be accessible from an eval (or feed?) have to be explicitly declared with an Pm |
|
Shouting for this seems a bit weird. Why not keep the current |
|
+1 to making it clear to developers that "eval" is special and care should be taken when using it. Also, I suggest looking at Eval::Clean and emulating the feature set that it has: https://github.com/rafl/eval-clean /cc @rafl |
|
On Fri, Jun 07, 2013 at 03:56:43PM -0700, grondilu wrote:
...but the whole point is to eliminate the non-macroish version of eval. I simply added that in the process of making eval() macro-like, it Pm |
|
EVAL(+1) also.. |
|
<< bump >> |
|
eval is very special, so having it in all-caps would be consistent with some other special things. Heck, even the metaclass stuff is in uppercase - .WHAT, .HOW etc. EVAL definitely fits for me into the 'strange stuff happening here' category of operations, alongside BEGIN, INIT, CATCH and so forth. |
|
+1 to EVAL |
At the YAPC::NA 2013 hackathon, there was discussion of making
Cool.evalandeval(...)act more like macros, so they can be detected at compile time and pessimized appropriately.It was also suggested that they become all-caps (
EVALand.EVAL), since like MONKEY_TYPING they represent operations that are "special" and perhaps denote extra attention from programmers due to their side effects (some perhaps unwanted, such as security vulnerabilities).Pm
The text was updated successfully, but these errors were encountered: