> Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
I don’t understand how to work with the intermediate language in such a back-to-front approach, wouldn’t you need to know in advance what pass to implement next so that the input to the current pass matches the output of your next, unimplemented, pass? To me, it seems like the contract is reversed
(2017)
At the time (387 points, 76 comments) https://news.ycombinator.com/item?id=15153956 https://archive.is/gUVNw
2019 edit (388 points, 78 comments) https://news.ycombinator.com/item?id=20408011
Every browser can smooth scroll, please stop doing this in JS, manually.
I turn mine off, then you force it on me, and CTRL+F4 is an immediate reflex.
You should report it to sigplan.org. Complaining about it here won't make any difference.
There's also https://news.ycombinator.com/newsguidelines.html -
> Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage. They're too common to be interesting.
> CTRL+F4
What does this do on your computer? On mine it changes the workspace, which makes not much sense in context.
Closes browser tab
Which browser is that? Does it support C-W ?
I don’t understand how to work with the intermediate language in such a back-to-front approach, wouldn’t you need to know in advance what pass to implement next so that the input to the current pass matches the output of your next, unimplemented, pass? To me, it seems like the contract is reversed
No, because the intermediate language of the previous step is just the target of the next step, and the target can be anything
E.g. when JavaScript was designed, they didn't need to know that typescript would be invented to know how JavaScript would look.
It sounds to me that Pass 1 is basically an assembly-to-assembly compiler which becomes the target of all the other passes and optimizations.