top | item 43703577

(no title)

wruza | 10 months ago

What I don't like is lack of features that would erase whole classes of software around it. For example, function environments (substitute the global scope with another object for a single invocation) could delete lots of code and paradigm from vue/rx-likes.

It also neither supports operator overloads (good thing in general) nor has a decimal type which is a must for human numbers like euros and kilograms. Rather it includes the mostly useless bigint.

It also does nothing to fix the mentioned quirks like sort(). It could e.g. include cmp(a, b), and propcmp(name[,cmp]) off the shelf so the issue wasn't wordy at least: nums.sort(cmp), objs.sort(propcmp("id")).

discuss

order

hajile|10 months ago

There is a decimal proposal for JS. It almost certainly won't use normal operators though because of the JIT implementor complaints about adding BigInt (not to mention recently dropping the record/tuple proposal over `===`).

https://github.com/tc39/proposal-decimal

wruza|10 months ago

Then it's of little use imo. Library decimals already exist in multiple optimized forms.

queenkjuul|10 months ago

Can't you `function.bind(context, ...)` or am i misunderstanding

wruza|10 months ago

Bind substitutes `this`, not global scope. With function envs you can write functions like function () {a += 1} and have it increment `a` in some object.