Live data from Hacker News

WebKit is now 100% ES6 complete

twitter.com

111–119 of 119 posts

Re: WebKit is now 100% ES6 complete

#111
post #61

open up chrome console, type `class Foo { }` and it works now out of the box. For what it's worth, when you try define a class that already exists. it throws an error. It seems that re-defining an identifier with the `var` keyword will throw an error too. I don't remember this being the case before.

It's been hours and nobody has showed up to call this an atrocity? The JS world really is improving.

Re: WebKit is now 100% ES6 complete

#112
post #13

Is anyone using Safari Technical Preview as their main Browser? I was hesitant to use it, but I've heard a few people say that it's stable.

I've been using it as my main browser since release. I've noticed two things: 1) With gifs, Safari TP will loop the first few frames (or whatever loads quickly) and loop that, whilst the remaining frames load, but then never update to looping the entire gif once completely downloaded; refreshing doesn't correct it, just focussing the address bar and hitting to load the gif from cache. 2) Math.random() returns the sam…

LOL @ Math.random()

Tracked here: https://bugs.webkit.org/show_bug.cgi?id=157805

Re: WebKit is now 100% ES6 complete

#114
post #61

open up chrome console, type `class Foo { }` and it works now out of the box. For what it's worth, when you try define a class that already exists. it throws an error. It seems that re-defining an identifier with the `var` keyword will throw an error too. I don't remember this being the case before.

Maybe code on the REPL is being evaluated with strict mode on?

is there a `isUseStrictOn()` equivalence? [0]

[0] var isStrict = (function() { return !this; })();

Re: WebKit is now 100% ES6 complete

#115
post #74

Earlier quoted context omitted.

How does tail call optimization cause a regress in performance? Superficially, it seems very counter-intuitive that this should even be possible.

Messes with calling conventions. Citing Rust: https://mail.mozilla.org/pipermail/rust-dev/2013-April/00355...

It's worth noting that's from 2013; in my understanding, things have changed in LLVM since then, which was another big blocker.

Re: WebKit is now 100% ES6 complete

#116

Earlier quoted context omitted.

If the main worry is information loss when debugging, why not figure out a mechanism that's 98% accurate but much more efficient than a full redundant shadow stack? For example, you could compact the stack every 200 frames it grows, but never remove frames in the top 50 or bottom 50. How often in practice would that give you a misleading view of the stack? (Assume that each frame keeps track of how many tail frames a…

We figured out such a mechanism and we call it ShadowChicken: http://trac.webkit.org/changeset/199076 It works great!

One of the things I like most about WebKit is that several of you reliably write awesomely informative commit messages.

(I hope Felix sees this particular commit sometime; I think he might feel a little flattered! Also, wow, that's an excellent summary by Peter Bex.)

Another is that you keep looking into old quiet dark corners of language nerdery and actually make use of the good ideas lurking there (notably while retaining the "no performance regressions EVER" tyranny).

I think there are some neat ideas Chicken Scheme's compiler too.

Also, did you have a raiding party on T when doing DFG? (cf. Olin Shivers at http://www.paulgraham.com/thist.html starting with the paragraph, "This brings us to the summer of 1984. The mission was to build the world's most highly-optimising Scheme compiler." and notably also the paragraphs starting "Richard Kelsey..." and "Norman Adams...". . Always take ideas from Shivers, at least if they're faster in practice. Also, sorry for the several edits. I forgot how good this overview was, and how much meat is in it.)

Re: WebKit is now 100% ES6 complete

#117
post #32

Earlier quoted context omitted.

I'm confused by what it means that the semantics of imports weren't part of the spec yet. Do you mean polyfills like es6-module-loader ( https://github.com/ModuleLoader/es6-module-loader ) were just guessing how modules would behave?

Yes, that's exactly correct. Babel, polyfills, etc. were all just guessing at the future.

When TC39 creates ES modules, it's re-inventing the wheel ("The node community has already made modules that work, why'd you make a new one??").

When the Babel community creates a module loading approach, it's guessing at the future ("The spec is the law! When the community makes something, it's guessing at the law!").

Re: WebKit is now 100% ES6 complete

#118
post #32

Earlier quoted context omitted.

I'm confused by what it means that the semantics of imports weren't part of the spec yet. Do you mean polyfills like es6-module-loader ( https://github.com/ModuleLoader/es6-module-loader ) were just guessing how modules would behave?

Yes, that's exactly correct. Babel, polyfills, etc. were all just guessing at the future.

[deleted]

Re: WebKit is now 100% ES6 complete

#119

Earlier quoted context omitted.

I've been using it as my main browser since release. I've noticed two things: 1) With gifs, Safari TP will loop the first few frames (or whatever loads quickly) and loop that, whilst the remaining frames load, but then never update to looping the entire gif once completely downloaded; refreshing doesn't correct it, just focussing the address bar and hitting to load the gif from cache. 2) Math.random() returns the sam…

LOL @ Math.random() Tracked here: https://bugs.webkit.org/show_bug.cgi?id=157805

Yeah, that was too hilarious a comment to not check out.

Great job spotting it chrstphrknwtn!

Post reply on HN