Consider this beautiful quote from a presentation by Jon Sterling:

Software engineering is about division of labor

  • Between users and machines...
  • Between clients and servers...
  • Between different programmers...
  • Between different modules...

Tension lies between notions of abstraction and composition

  • Abstraction (which embodies division)
  • Composition (which embodies harmony)

PL theory is "advancing linguistic solutions to the contradiction between abstraction and composition" - Reynolds, 1983.

I am fascinated by PL theory, type theory, and the idea of the computational trilogy. These ideas are worth thinking about, and worth sharing.

My independent research while a part-time graduate student is in the study of the intersection of three topics.

  1. Formal modeling of autonomous systems & AI models.
  2. Distributed systems & type theory.
  3. Robotics & embedded systems.

A rough collection of raw notes and presentable pieces, I hope this kind of "living book" will motivate me to keep articulating, editing, and learning indefinitely.