News for hackers. Stuff that matters.
Re:Walt: JavaScript-like syntax for WebAssembly by inferiorhuman on Wednesday October 10, 2018 @11:08PM (#18190741)
I may be in the minority then: one of the big advantages, for me, of WASM is that I can use not-Javascript in the browser. Some of the issues I have with JS are an artifact of being one of the first things to run in the browser (e.g. atrocious standard library) and some are just baked in poor designs (e.g. implicit type casting, == vs ===).

Oh gosh, let's not forget what happens when you try to use map and parseInt together.

Re:Walt: JavaScript-like syntax for WebAssembly by mr_toad on Thursday October 11, 2018 @12:54AM (#18191040)
[‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’10’].map(d => parseInt(d));

Returns

[1,2,3,4,5,6,7,8,9,10]

Re:Walt: JavaScript-like syntax for WebAssembly by JimDabell on Thursday October 11, 2018 @02:13AM (#18191284)
Sure, but you're putting a workaround in – there really shouldn't be any need for that no-op arrow function. But you do actually need it in order to drop all but the first arguments.

This is simple, straightforward, and wrong:

    ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"].map(parseInt)
This doesn't work because map() stuffs a counter into the second argument of parseInt(), which is expecting a radix for its second argument. So the iterations of the map go like this:

    parseInt("1", 0)
    parseInt("2", 1)
    parseInt("3", 2)
…and so on, which obviously gives garbage results. JavaScript is littered with these kinds of weird edge cases. Even your example with the workaround isn't 100% reliable, it's browser-dependent – when you have leading zeros in your strings, some browsers will interpret them as octal, and some won't.
Re:Walt: JavaScript-like syntax for WebAssembly by gear54rus on Thursday October 11, 2018 @04:16AM (#18191739)
so what is your problem with all this? that these functions have both provided a flexible interface for use cases that are not this single one?
Re:Walt: JavaScript-like syntax for WebAssembly by kybernetikos on Friday October 12, 2018 @03:40PM (#18204130)
> browser-dependent

Language version dependent rather than browser dependent.

It may seem the same (after all, different browsers implement different versions of the language), but it's a bit different, if you say 'browser-dependent' it makes it sound like there is no standard when in fact, the leading zero behaviour hasn't been the case since ecmascript 5. You'll struggle to find a browser in common use that doesn't support at least ecmascript 5. It's as browser-dependent as the array.map function which was added at the same time.

Your example code would never have the leading 0 problem since you're using array.map and array.map didn't exist in the engines that had that leading 0 'feature'.

Re:Walt: JavaScript-like syntax for WebAssembly by inferiorhuman on Thursday October 11, 2018 @01:58AM (#18191236)
I'd expect your example to return a syntax error as those aren't single or double quotes. Try:

["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"].map(parseInt);

Re:Walt: JavaScript-like syntax for WebAssembly by duckerude on Thursday October 11, 2018 @02:53AM (#18191425)
Backticks are used for template literals. Try evaluating `2 + 2 = ${2 + 2}`.
Re:Walt: JavaScript-like syntax for WebAssembly by inferiorhuman on Thursday October 11, 2018 @03:29AM (#18191565)
Those weren't backticks (`) either. They were "smart" quotes (’ -- you may need a different font to view the differences more readily ’ vs ').
Re:Walt: JavaScript-like syntax for WebAssembly by rounce on Thursday October 11, 2018 @08:25AM (#18192886)
But you understood what they meant right?