I want to get a bit more insight into the design of Julia, including details on the language itself, compiler, code generation, etc. I’m not looking for all the gory details, but just enough to understand better what goes on under the hood and some of the design considerations. I started reading “Julia: A Fast Dynamic Language for Technical Computing” from 2012 and it contain lots of very interesting stuff, but I also see quite a few more recent papers. Is starting at the 2012 one a good option, or is there a lot in there that has been changed or superseded? And any recommendations from the newer ones which highlight important changes since then?
Edit: after the 2012 paper quickly read Julia: A Fresh Approach to Numerical Computing (2015) as it was a bit numerically heave. So far I only scanned Julia: dynamism and performance reconciled by design (2018) and Fast Flexible Function Dispatch in Julia (2018) but those looks pretty interesting as well, will read them tomorrow.
Right, I know about the blog and the articles there appear to be quite deeply focused on a single topic and so the opposite of what I’m looking for. But the ones you link can help me get up to speed on broadcasting, of which I know nothing so far.
My favorites are Julia Subtyping and World Age Optimization. Granted they address only very specific parts of the design, but the in-depth analysis really showcases the considerations and intricacies that go into the language.