<div dir="ltr"><div dir="ltr">>¬†WASM¬†interoperability and optimiser efficiency instead of developer productivity.</div><div dir="ltr"><br></div><div>I've personally always seen types useful **only** for typed languages interoperability and/or optimization/performance hints to engines/runtimes, but since many developers apparently experience some productivity boost though typed languages oriented tools, why not having all the three checked?</div><div><ul><li>WASM interoperability (a TC39 effort)</li><li>more efficient runtime (a runtime/engine effort)</li><li>boosted productivity (a third parts tools effort)</li></ul><div>That doesn't look too bad to me, as possible JS' future.</div></div><div><br></div><div>Regards</div><div dir="ltr"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 25, 2019 at 11:19 AM Bergi <<a href="mailto:a.d.bergi@web.de">a.d.bergi@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
> I am having hard time understanding the counter argument "you need a<br>
> transpiler anyway".<br>
<br>
Sorry, I agree it's a bad argument, I should have just omitted it.<br>
It was meant to support "If you are only looking for development-time<br>
benefits, you have to install a static toolchain anyway - which might as<br>
well transpile away the annotations".<br>
<br>
>> the real value of strict types, in my view, is at development time,<br>
> not at run time.<br>
><br>
> This is not correct. Check what AssemblyScript managed to do via types,<br>
> targeting WASM instead of non-typed JS<br>
><br>
>> I would be curious to know if anybody has a usage for them at run time<br>
><br>
> Developers might not have such usage, but V8 / Chakra / JSC /<br>
> SpiderMonkey might spin up optimizations ahead of time, enabling right<br>
> away hot code.<br>
<br>
...or at least allow throwing exceptions instead of having to<br>
de-optimise a JITted code, which allows simpler & better optimisation<br>
algorithms.<br>
<br>
These are the kinds of arguments I want to hear, reasons for sending<br>
type annotations to the client/runtime. And such a goal puts a very<br>
different focus on what the type system should look like: WASM<br>
interoperability and optimiser efficiency instead of developer productivity.<br>
<br>
kind regards,<br>
¬† Bergi<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>