4 ms·
My first fifteen compilers (2019)
- gnabgib 1y ago(2017) At the time (387 points, 76 comments) https://news.ycombinator.com/item?id=15153956 https://news.ycombinator.com/item?id=15153956 https://archive.is/gUVNw https://archive.is/gUVNw 2019 edit (388 points, 78 comments) https://news.ycombinator.com/item?id=20408011 https://news.ycombinator.com/item?id=20408011
- lacoolj 1y agoEvery 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.
- throwaway150 1y agoYou should report it to sigplan.org. Complaining about it here won't make any difference. There's also https://news.ycombinator.com/newsguidelines.html 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.
- 1718627440 1y ago> CTRL+F4 What does this do on your computer? On mine it changes the workspace, which makes not much sense in context.
- lacoolj 1y agoCloses browser tab
- 1718627440 1y agoWhich browser is that? Does it support C-W ?
- emoII 1y agoI 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
- Hasnep 1y agoNo, 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.
- UncleEntity 1y agoIt sounds to me that Pass 1 is basically an assembly-to-assembly compiler which becomes the target of all the other passes and optimizations.