News for hackers. Stuff that matters.
Re:AssemblyScript: A Subset of TypeScript That Compiles to W... by kannanvijayan on Wednesday September 06, 2017 @10:43PM (#15188794)
No, these have very well optimized fastpaths in all engines.

The method I'd expect for high-throughput communication between js and wasm would be for the wasm code to build structures directly in memory and for JS to traverse those directly using the memory buffer (TypedArray, but really ArrayBuffer).

TypedObjects in ES* will let you directly build lightweight JS objects that are just pointers into an ArrayBuffer.

Edit: Updated to note the fact that I really don't know what the status of TypedObjects is currently..

Re:AssemblyScript: A Subset of TypeScript That Compiles to W... by jamii on Thursday September 07, 2017 @04:05AM (#15189911)
It's hard to find out. Noone really seems to be talking about it.

It is enabled in Firefox nightly, though I don't know if the API is stable yet:

    > var Point = new TypedObject.StructType({x:TypedObject.int32, y:TypedObject.int32})

    undefined

    > new Point({x:1, y:2})

    InlineTransparentTypedObject { x: 1, y: 2 }
Re:AssemblyScript: A Subset of TypeScript That Compiles to W... by JSChoi on Sunday September 10, 2017 @11:44AM (#15212685)
There is a Mozilla bug from last February [https://bugzilla.mozilla.org/show_bug.cgi?id=1336740] that proposes that MDN document that particular TypedObject API, since it was experimentally implemented by Firefox. Florian Scholz of Mozilla then commented:

> The TypedObject proposal predates ES2015 and the yearly release model ECMAScript is on now. That said, the Firefox experimental implementation is not based on current standards work. I'm not sure how useful it is to further advertise or to document it in this case.

Lars T. Hansen of Mozilla added:

> IMO it's premature to document TypedObjects. I think TypedObjects are coming back, but initially to support WebAssembly's interaction with JS, and I would expect the TypedObjects' form to be slightly different from what we have now, more suited to that purpose.

So we may look forward to an eventual revised TC39 proposal for TypedObject, one that explicitly considers interoperability with WebAssembly. But that will probably take a long time. Hopefully someone will write a strawman proposal/polyfill soon.

Re:AssemblyScript: A Subset of TypeScript That Compiles to W... by jamii on Sunday September 10, 2017 @12:00PM (#15212753)
Thanks, that's really useful info :)
Re:AssemblyScript: A Subset of TypeScript That Compiles to W... by kannanvijayan on Thursday September 07, 2017 @08:26AM (#15191169)
Yeah it's weird. I remember hearing a lot about it a couple years back, and when SpiderMonkey implemented in Firefox it was a noticeable change, largely because we used to call one our hidden type structures "TypeObjects", and that was super confusing when there was a language construct called "TypedObjects", so we renamed our TypeObjects to "ObjectGroup".

Seemed like a really nice proposal for procedural construction of typed views into ArrayBuffers, and perplexing that talk of it seems to have died down...