Dreaming the future of software; Project Editor ECMAScript 2015; Reformed Smalltalker JavaScript historian dl.acm.org/doi/abs/10.114@allenwb@mastodon.social

Sherwood Oregon USA
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
3
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/
Replying to @ljharb @rauschma
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.
1
2
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
1
3
4
How to remove a Medium post from the metered paywall help.medium.com/hc/en-us/art…
2
5
7
But I probably misdiagnosed root enabler. @getify calls it:
Replying to @awbjs
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
3
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
Replying to @padolsey
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…
2
4
16
Perhaps like: let a = b.map(x=>x+1).filter(x=>x%0)
1
4
This (proposed) code makes me want to repeatedly bang a hammer against my head, to make the pain go away. const obj = const { a: 1, b: 2 };
1
Allen Wirfs-Brock retweeted
In the future, every molecule will have its own processor. And it will be running Javascript.
19
46
187
I like this a lot!
Replying to @BrendanEich @getify
const arr = [|1, 2, 3|]; // immutable array const obj = {|s:'foo'|}; // immutable object inspired Ocaml syntax =)
1
2
17
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
2
13
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/
1
2
7
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/
1
3
9
“Human Heritage Standards" This is a term that I just saw used by Istvan Sebestyen, the soon to retire Secretary General of @EcmaIntl 1/
1
3
4
Ok.. i did he 8 miler today just o could experience the mud photos.app.goo.gl/ev9KwxGiWT…
1
1
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
8:30 pm and Girls 💙 Rockets gets it done. Now food, beer and celebrations
1
3
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.
Freedom Gas Bag (Rick Perry).
1
2
6
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?
I promised a rant about POSIX. Here it is: medium.com/@benlaurie_18378/….
1
3
11
If Mark’s medium link doesn’t work for you, try this one: medium.com/p/the-tragedy-of-…
2
3
A essay for JavaScript language designers and others
My old essay "The Tragedy of the Common Lisp: Why Large Languages Explode" now on Medium link.medium.com/aEMgwWNJ1W
2
4
12