Quotes of the week
[Posted October 20, 2010 by corbet]
In a previous post, I mentioned that PyPy was the fastest Python
implementation for most of my Project Euler programs, but that it
was very slow for a few of them. This is no longer the case. The
jit-generator branch was merged a few days ago, fixing a weakness
with code that uses generators. And now PyPy is clearly the fastest
Python implementation for this code, with both the most wins and
the lowest overall time...
Unladen Swallow hasn't had a commit since August. I suspect it's
just resting, not dead, but it's falling behind PyPy in
performance. Version 2.8 of LLVM has been released, but Unladen
still requires version 2.7.
--
David Ripton
This means that if you write a JavaScript implementation that does
not faithfully reproduce the bug that arithmetic on integers
greater than 2^53 silently does something stupid, then your
implementation of the language is non-conforming.
Oh, also bitwise logical operations only have defined results (per
the spec) up to 32 bits. And the result for out-of-range inputs is
not an error condition, but silently mod 2^32.
I swear, it's a wonder anything works at all.
--
Jamie Zawinski
And that's where the second realization hits: you know how foo is just a
string right? Then wouldn't foo() be "a string with parens"?
Well it happens that no:
function foo() { return "foo"; }
echo "foo"();
$ php test.php
Parse error: syntax error, unexpected '(', expecting ',' or ';' in test.php on line 4
Unless you put the string in a variable itself:
function foo() { return "foo"; }
$bar = "foo";
echo $bar();
this will print foo. That's actually what PHP's own create_function
does. And yes, I can see the dread in your eyes already.
Your fears are real.
--
"masklinn"
You can't win, you can only pick how you lose
--
Adam
Jackson (thanks to Peter Robinson)