Dreaming the future of software; Project Editor ECMAScript 2015;
Reformed Smalltalker
JavaScript historian dl.acm.org/doi/abs/10.114…
@allenwb@mastodon.social
I’m a big believer that an internally consistent language is one where new features follow precedent.
A new feature designer should start by asking what does the existing language tells us about how this new case should be handled. Listen to what the languages tells you.
2/2
I agree that JS object spread handling of null/undefined is inconsistent with destructuring precedents.
But the decisions that create those precedents were close calsl, so easy to see that a new discussion could lead to a different decision.
1/
the inconsistency result is baffling, not the reasoning. the choice was deliberately made to create a relaxed no-error in one use-case, but leave the error in the other. some wanted an error in both, which would have been equally sensible given axel's "precedent" point.
Try here es.discourse.group/ and tell your friends about it.
I agree with your concerns about GitHub issues. I miss the robust esdiscuss threads circa 2008-2014
hmmmm... the proxy is not substituting for Number.prototype, it's delegated-to from Number.prototype (substituting for Object.prototype). Where in the spec does it forbid setPrototypeOf(..) on Number.prototype?
Object.isExtensible(Number.prototype) // true
The ES spec. doesn't allow a Proxy to substitute for Number.prototype on property access on a primitive number value. Apparently V8 does!
Probably means there are tests missing from Test262
Ok this is horrific but possible:
// Loop from 20 to 200
for (let n of 20[200]) {}
Pretty sure using a proxy on a native prototype is punishable by death. Please forgive me.
gist.github.com/padolsey/4c9…
A more common term is “legacy” but in computing this term as taken on a pejorative implication.
That’s why I really like the term “Human Heritage Standard”. It’s not about stuff we are stuck with maintaining. It’s about preserving our heritage for future generations.
4/4
Example used by Istvan include: JPEG-1, MPEG-2, MPEG-4, PDF, OOXML (docx) etc.
And. of course, HTML, JavaScript, and other widely used web standards.
Preserving our web heritage is one of the key things TC39 means by the slogan “Don’t break the web.”
3/
Istvan defined a Human Heritage Standard as the definition of the encoding of “valuable content available in trillions that any transcoding into a new format is de facto impossible, but many of their content will be still interesting in e.g. in 200 years or more for users. "
2/
Aaaand we did it! For my part, I ran 302 miles in 7.5 days on the way to @GrlsHeartRockts#888K relay finish. It's time for beer and sleep (in that order) @rocksnruns@KHesser
My theory is that somebody at DOE was punking the current admin by suggesting “Freedom Gas”. Of course they loved it and hence further exposed their ineptness.
Challenging entrenched technologies is always hard. Often a “worse is better” approach is more successful than “doing the right thing”. But not all WiB solutions are good enough.
What might an modern "good enough" WiB alternative to WASI for WebAsm look like?