70 %

Notes on Responsive Compilers by Nicholas Matsakis

Responsive Compilers

old compilers use to be about passes. lexer, etc.

A big shift in how IDEs work. Specifically the Language Server Protocol (LSP) released with the advent of VSCode

The "Responsive Compiler"

  • Compiler as an actor
  • Editor sends diffs and requests completions/diagnostics
  • Compiler responds

Key Point: need to be able to respond asap

  • Separate inputs and derived stuff

    • derived stuff can track which inputs it uses, thus when inputs change we can propagate that
  • "Adapton"

  • Glimmer (from Ember web framework)

  • Build systems a la carte (PDF)

Entity Component System (ECS)

ECS is an alternative to OOP mostly used in game programming. Separation of data and entity.

Ids for stuff

Use trees, not just numbers.