> On Dec 13, 2017, at 2:15 AM, Sam Goto <[email protected]> wrote:
> 
> + rick that co-authored numeric separators too and may have thoughts on this. 
> my first impression is that this (if kept purely as something that gets 
> ignored by the VMs) shares a lot of the sentiments with numeric separators ….

-1
the difference is that numeric-separators are well-defined and hopefully a 
one-time language-change that never has to be re-visited again.  these proposed 
numbers-with-suffixes are arbitrary and nobody is naive enough to believe they 
won’t be revisited repeatedly in the future.  they open a can-of-worms to 
never-ending future language-feature requests (like destructuring and 
import-statements did), which harms tooling and language stability.


> On Tue, Dec 12, 2017 at 11:13 AM, Sam Goto <[email protected] 
> <mailto:[email protected]>> wrote:
> Ha, that's quite interesting.
> 
> Somewhat related to the proposal of 
> https://github.com/tc39/proposal-numeric-separator 
> <https://github.com/tc39/proposal-numeric-separator> that we moved forward 
> earlier this year.
> 
> Are you thinking that the suffixes are purely ignored by VMs or that the 
> conversation is effectively done? That is, is "populationSize = 1M" 
> equivalent to "populationSize = 1" or does it make a translation somewhere to 
> "populationSize = 1_000_000"?
> 
> 
> 
> On Sun, Nov 26, 2017 at 8:27 AM, Andrey Muzalevsky <[email protected] 
> <mailto:[email protected]>> wrote:
> Thank for your answers
> 
> Jerry, I think that in tagged template literals form it won't be widely used
>  e.g. `setTimeout(foo, millis`30s`);` is much harder to read than 
> `setTimeout(foo, 30000);`
> 
> -------
> 
> Regarding https://github.com/littledan/proposal-extensible-numeric-literals 
> <https://github.com/littledan/proposal-extensible-numeric-literals>:
> 
> Doesn't conflict with this idea.
> 
> Also looks great at first sight. BTW - In my personal opinion - in most cases 
> number suffixes/literals/syntaxes are just sugar, and must be processed at 
> compile-time (0xFF000000 syntax is also just sugar).
> Also to make this proposal useful - JS also need to support operators 
> overloading, without operator overloading do something useful while writing 
> `10px + 1em` is impossible, so it decreases usability of this innovation to 
> just another way of calling function(for now).
> 
> So in my _personal_ opinion, for now it is better to stay with fixed list of 
> built-in compile-time executed number suffixes/literals
> 
> -------
> 
> Regarding https://github.com/tc39/proposal-bigint 
> <https://github.com/tc39/proposal-bigint>
> 
> The only problem between proposals is the suffix `n` which specifies 10^-9. 
> Few thoughts:
>  - milli, nano, etc. suffixes won't be widely used
>  - they always can be replaced with expotential notation 1e-3, 1e-6, ...
> 
> So they are removed from this idea, 
> Also removed full form, as it doesn't look semantically valid
> 
> Updated list of sugar suffixes:
>  - Usable list analogues of 1e3, 1e6, 1e9:
>      - 1K = 1000 = 1e3
>      - 1M = 1000*1000 = 1e6
>      - 1G = 1000*1000*1000 = 1e9
>      - ... (T,P,E,Z,Y)
>  - The same with bytes, nobody will count nanobytes... Isn't it? Usable list:
>      - 1KB = 1024
>      - 1MB = 1024*1024
>      - 1GB = 1024*1024*1024
>      - ... (TB,PB,EB,ZB,YB)
>  - Updated time group, this can make life easier for each novice...
>      - 1s = 1000
>      - 1m = 60s
>      - 1h = 60m
>      - 1d = 24h
>      - 1w = 7d
> 
> How it looks for you with updates?
> 
> Best regards, 
> 
> Andrey
> 
> 2017-11-25 1:22 GMT+02:00 Jerry Schulteis <[email protected] 
> <mailto:[email protected]>>:
> I see the BigInt proposal at the moment uses a suffix 'n' for BigInt literals.
> That would conflict with Andrey's desire to have it mean metric nano (* 
> 10**-9).
> Maybe tagged template literals would do?
>     populationSize = SI`100M`;
>     setTimeout(foo, millis`30s`);
> 
> On Thursday, November 23, 2017, 7:22:41 AM CST, Isiah Meadows 
> <[email protected] <mailto:[email protected]>> wrote:
> 
> 
> Check out the various unit-related proposals that have spawned on this list, 
> and note that IIRC the BigInt proposal [1] also notes that as a possible 
> future expansion.
> 
> [1]: https://github.com/tc39/proposal-bigint 
> <https://github.com/tc39/proposal-bigint>
> On Thu, Nov 23, 2017, 08:17 Andrey Muzalevsky <[email protected] 
> <mailto:[email protected]>> wrote:
> Idea is simple, also is simple to implement and do not conflicting with 
> existing standard
> 
> Readability of javascript can be improved in certain cases like:
> populationSize = 100000000
> maxMessageSize = 4194304
> setTimeout(foo, 30000)
> if(timeElapsed > 100) {...}
> This can be changed to following:
> populationSize = 100M
> maxMessageSize = 4MB
> setTimeout(foo, 30s)
> if(timeElapsed > 0.1s) {...}
> Also it will be great to support floating number, most convinient way to do 
> this is tract suffix just like a multipler, so
> 
> 1.5MB == 1.5 * 1MB
>  
> Supported suffixes, as I see them:
> Metric prefixes group
> follow SI Prefixes 
> <http://www.npl.co.uk/reference/measurement-units/si-prefixes/> scheme, to 
> decrease entrance level
> allowing to use short and full form
> it is case sensetive (bad, but everyone knows it)
> not sure about μ, it either:
> (my preference) supported as UTF-8 sumbol, always can be replaced with 'full' 
> form when needed(is it recommended to use?)
> has a replace symbol which can be easily typed
> allowed only in full form
> samples:
> 4M == 4mega == 4 000 000
> 5n == 5nano == 0.000 000 005
> 1micro == 0.000 001
> Bytes prefixes group
> Metric prefixes turned into bytes prefixes by adding either 'B' to short 
> form, or 'byte[s]' to full form
> Byte suffix is written in upper-case 'B', e.g. 'kB', 'MB', 'GB'
> This is done to remove inconsistency with widely used bit/byte 
> differentiation, e.g. `kb` and `KB` usually mean different things
> Samples:
> 1kB = 1kilobyte = 1024
> 1MB = 1megabyte = 1024*1024
> Time group, counted in milliseconds
> s, sec = 1000
> min = 60 * 1000
> h, hr = 60 * 60 * 1000
> d, day[s] = 24 * 60 * 60 * 1000
> w, week[s] = 7 * 24 * 60 * 60 * 1000
> Also it will be good to allow compound number definitions, samples
> 1h 30min = 1h + 30min
> 1mB 200kB = 1mB + 200kB
> 
> What do you think?
> _______________________________________________
> es-discuss mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/es-discuss 
> <https://mail.mozilla.org/listinfo/es-discuss>
> _______________________________________________
> es-discuss mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/es-discuss 
> <https://mail.mozilla.org/listinfo/es-discuss>
> 
> 
> _______________________________________________
> es-discuss mailing list
> [email protected] <mailto:[email protected]>
> https://mail.mozilla.org/listinfo/es-discuss 
> <https://mail.mozilla.org/listinfo/es-discuss>
> 
> 
> 
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to