On 02/11/11 15:49, Brendan Eich wrote:
On Nov 2, 2011, at 9:30 AM, Quildreen Motta wrote:

Also, note that `with' makes a whole awesome use-case for `Object.freeze':
'with' is gone in ES5 strict, ES6, and beyond -- you knew that, right?
Yep, and I still think it's a sad thing. Not that I use it anyways, the performance doesn't allow me to. And we're getting real `let'.

---
with (require({'library1': 'lib1'}, {'library2': 'lib2'})) {
   lib1.foo(lib2.something)
}
This is still hard to optimize, even with the implied freeze under require.
Hm, not sure I understand why. I'm not a compiler writer though.

Also, you can't load code dynamically without nesting an event loop and 
violating run-to-completion, so I'm not sure how such a require would work.
Yes, but `require' could take a plain object out of a map or something, it could use a synchronous call. But I don't think that matters much here :3

This does remind me: JS's "freedom" is Dart's "cannot be tooled" and "inherent 
performance problems", and without aggressive optimization work it can mean JS is measurably slower for 
some kinds of code than Dart (or Java).

("cannot be tooled" is flat wrong, as past discussion here of 
static+dynamic/live-system analysis concluded.)

To "inherent performance problems", I say "feature" and "optimize harder". But 
it's worth mentioning, especially since you cited 'with', which is a bug that I brought ;-). Stupid-dynamic 
is just stupid and we should avoid it.

Freedom without fences and other tools for accountability fails at scale.
I still don't agree with `with' being a failure (perhaps the syntax ended up too ambiguous, yeah, and the thing about being able to change the shape of the objects and all, but...), I agree with the "optimise harder" though.

I wonder if it was the Racket guys who said that languages should indeed be dynamic, so compiler writers have more work to do :3
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to