ECMAScript Doc Sprint next Thursday
I’ve been working on a reboot to the ECMAScript web site lately, which you can preview at tc39wiki.calculist.org. One of the most important parts of this will be a set of high-level descriptions of the...
View ArticleJavaScript's two array types
Imagine a BitSet constructor with an overloaded API for setting bits:1234varbits=newBitSet();bits.set(4);bits.set([1,4,8,17]);The interface for BitSet.prototype.set is:1// set :: (number | [number])...
View ArticleTweaking the JavaScript AST API
A couple years ago I created a JavaScript parser API and implemented SpiderMonkey’s Reflect.parse library. Since then, there have been a couple of pure JavaScript implementations of the API, including...
View ArticleStatic module resolution
I haven’t spoken enough about the rationale for declarative, static module resolution in ES6 modules. Since multiple module systems exist in pure JS, the concept of modules that involve new syntax is...
View ArticleThe little-endian web!
This feels a little bit like the web platform having opened a door to hell and Zombies running out of it. I wonder if we can ever close it again.– Malte UblLet’s see if we can. I’ve had a bunch of...
View ArticleThe little-endian web?
Here’s the deal: typed arrays are not fully portable. On most browsers, this code will print 1:123vara1=newUint32Array([1]);vara2=newUint8Array(a1.buffer);console.log(a2[0])But the typed arrays spec...
View ArticleHomoiconicity isn't the point
I’ve never really understood what “homoiconic” is supposed to mean. People often say something like “the syntax uses one of the language’s basic data structures.” That’s a category error: syntax is not...
View ArticleSynchronous module loading in ES6
One of the great features of ES6 modules is the direct style module loading syntax:12importmapfrom"underscore.js";...map(a,f)...This makes it as frictionless as possible to grow or refactor your code...
View ArticleTwo years at MoCo
If I remember right, today is my two year anniversary working full time at Mozilla. And it works out to about six years of working with Mozilla and TC39. I could stop and get sentimental, but there’s...
View ArticleWhy coroutines won't work on the web
The topic of coroutines (orfibers, or continuations) for JavaScript comes up from time to time,so I figured I’d write down my thoughts on the matter. I admit tohaving a soft spot for crazy...
View ArticleObligatory fawning over Octopress
I’m joining the throngs of programmer-bloggers using Octopress for my new blog. There’s so much to commend about it, but it really comes down to one thing:Programmers should be able to write their...
View ArticleHello, world
This is my blog’s new home.My old blogs:http://calculist.blogspot.comhttp://blog.mozilla.com/dhermanshould stick around indefinitely as archives but they’ll be inactive from now on.
View Article