Compiler Lecture Series

I’ve been kicking around an idea lately:

I’d like to have a periodic Compiler Lecture Series. The idea would be to pick some part of the compiler – or some compiler-related topic – and have an (interactive) presentation explaining how it works. This would be recorded and posted afterwards. I am imagining about “once a month”.

Some ideas for topics:



Some suggestions from Zulip:

  • Const eval
  • Diagnostics

One question would be what is the expected target audience? For example:

  1. If the audience is mostly people working on Rustc, I would focus the presentation about Prusti on what we need from the compiler, how we currently extract this information, and how the compiler interface could be improved.
  2. However, if the audience is mostly people who would like to consume Rustc, then I would focus on how one could implement a static analyzer/verifier based on MIR.

Personally, I would be fine with giving two presentations.


What is prusti?

Also another suggestion: LLVM/codegen by nagisa or alexchricton.


The “Leveraging rust types for modular specification and verification” paper (see here) presents a compiler plugin called “Prusti”.


I think I'm somewhere in the middle of this scale -- I'm hoping for lectures that will help move me toward the first group. I do contribute to rustc already, but there's a lot about its inner workings that I don't know at all.


Another topics idea: the section 5.2 Constant Propagation Analysis, from this:

Totally on board to talk about rustdoc! I started doing this during my RustConf talk, but having a dedicated timeslot just for rustdoc internals would be delightful.


I’d be happy to chat about the Lark project we’ve been working on, too, if people are interested.


I’d also echo @cuviper a bit here (except that I have not yet contributed at all to rustc specifically), but that watching videos on a compiler would give me more confidence to move towards joining Group #1 ( a gateway drug, per se :slightly_smiling_face: ).


I’d love to hear more about Lark! I expect ther’s quite a bit of intersection between rust-analyzer & lark, and it’s really unfortunate that I don’t know about lark a lot.


@nikomatsakis Any idea when this series would start? I know very, very little about rustc’s internals, but would really like to learn more so I can hack on it.


Ditto! I know next to nothing about rust-analyzer, but I probably should know more :sweat_smile:


I’m hoping to start as soon as next week, with a presentation by @tromey on how the debugging support works =) Speaking of which, we should schedule…


Please do! I don't know if I'll be able to watch/interact live, but assuming that my schedule allows it, I'd like to.

Also, if there is any reading/homework we can do to prepare ahead of time for each lecture, please put it into the schedule. It won't be very interactive if we can't bring intelligent questions to the conversation...

Hmmm... thinking about preparing, if you're planning on doing this on the web somehow, you might want to setup a test channel so that we can test out our browsers beforehand. I have done weird things to my computer to lock it down, and sometimes those things don't interact will with certain sites...


at 4:45 my wish (for a better audio) came true - so happy!

Not sure about how fix the format is supposed to be but I’d totally listen to a recording of a Skype call where @matklad and @jntrnr talk to each other about their projects for a few hours. Just sayin’


As a “required reading” before all hands, I’ve created a guide to rust analyzer, in markdown and video formats:


I think the plan is to do this at 8am, US/Mountain time zone, tomorrow. Sort of late notice but I don't have much time left. I plan to discuss the current state of debuggers for Rust, where to find everything, and some things that would be useful to do (and how to do them). If you have any questions, just leave them here and if I see them in time I will address them.

Not sure what forum this will happen in or where the recording will end up -- @nikomatsakis?


I recently subscribed to Zoom, which offers recording facilities (and screensharing, I believe) so maybe we should try that?