The Curious Engineer

All blogs / Compilers

jimmyhmiller.github.io

jimmyhmiller.com

CompilersFunctional / PL theoryAI / ML

’95’00’05’10’15’20’25
Posts
110 from 5 Jan 1991 to 12 Oct 2026
Posting
monthly (9 in the last year)
Kind
personal blog
Feed
http://jimmyhmiller.com/feed.xml

2026 6

  1. Writing isn't Thinking
  2. Can we Make React Faster using the React Compiler?
  3. We Should be Able to Change our Languages
  4. The Chasm: The Shape of Unfinished AI Codebases
  5. Legibility is Ruining You
  6. Untapped Way to Learn a Codebase: Build a Visualizer

2025 6

  1. AI Has Made it Easy to Own Your Tools
  2. The Easiest Way to Build a Type Checker
  3. The Overly Humble Programmer
  4. Stuck? Build Your Language Backwards
  5. Machine Code Isn't Scary
  6. Discovery Coding

2024 28

  1. Dec 24: Against a Universal Definition of 'type'
  2. Dec 23: Do Artifacts Have Politics?
  3. Dec 22: Once More—A Computer Revolution
  4. Dec 21: What is Conceptual Engineering and What Should It Be?
  5. Dec 20: Three Paradigms of Computer Science
  6. Dec 19: Everybody Clap Your Hands
  7. Dec 18: The Structure and Legal Interpretation of Computer Programs
  8. Dec 17: The Cultural Part of Cognition
  9. Dec 16: Will Computers Ever Become Easy to Use?
  10. Dec 15: Programming Languages as Technical Artifacts
  11. Dec 14: Bidrectional Type Checking
  12. Dec 13: What Knowledge Isn't
  13. Dec 12: Lazy Evaluation of Transactions in Database Systems
  14. Dec 11: On Understanding Data Abstraction Revisited
  15. Dec 10: Large Models of What?
  16. Dec 9: What is a Game?
  17. Dec 8: Beyond Being There: Making Remote Work Better
  18. Dec 7: Implementation is Semantic Interpretation
  19. Dec 6: Intuition in Software Development
  20. Dec 5: Worlds: Mutability with Control
  21. Dec 4: Is the Brain a Computer?
  22. Dec 3: Google's Awful Paper on Technical Debt
  23. Dec 2: Software is an Abstract Artifact
  24. Dec 1: Elephant 2000
  25. Being Raised by the Internet
  26. "We ran out of columns" — the best, worst codebase
  27. That Will Never Change. Not Here
  28. Not Another Technical Debt Article

2023 3

  1. Being Stuck in Someone Else's Theory
  2. ChatGPT Doesn't Know Anything
  3. What Follows from Empirical Software Research?

2022 4

  1. The Space Between Programs
  2. Social Programming Language Constructs
  3. My Experience Building an Editor in Rust
  4. Towards Aesthetic Elements of Programming

2021 1

  1. CDD and the Non-Linearity of Discovery

2020 3

  1. Conceptual Preservation
  2. Conceptual Engineering
  3. Building Meander in Meander

2019 4

  1. Card Driven Development
  2. Term Rewriting with Meander
  3. Meander for Practical Data Transformation
  4. Named Function Composition

2018 8

  1. Defending the Incommunicability of Programs
  2. Basic Functional Studies
  3. Side Effects, Complecting a la Carte
  4. OOP from the Ground Up
  5. Beautiful Code Through Simplicity
  6. Protomorphism
  7. Variants and Protocols
  8. Variants Explained

1991 1

  1. 01Elephant 2000

Undated 46

  1. Variants Explained→
  2. Variants and Protocols→
  3. Protomorphism→
  4. Beautiful Code Through Simplicity→
  5. OOP from the Ground Up→
  6. Side Effects, Complecting a la Carte→
  7. Basic Functional Studies→
  8. writinglegibility is ruining you
  9. 01“We ran out of columns” — the best, worst codebase2024
  10. 02The easiest way to build a type checker2025
  11. 03Machine code isn’t scary2025
  12. 04Discovery coding2025
  13. 2026Writing isn't Thinking
  14. 2026Can we Make React Faster using the React Compiler?
  15. 2026We Should be Able to Change our Languages
  16. 2026The Chasm: The Shape of Unfinished AI Codebases
  17. 2026Untapped Way to Learn a Codebase: Build a Visualizer
  18. 2025AI Has Made it Easy to Own Your Tools
  19. 2025The Overly Humble Programmer
  20. 2025Stuck? Build Your Language Backwards
  21. 2024Being Raised by the Internet
  22. 2024That Will Never Change. Not Here
  23. 2024Not Another Technical Debt Article
  24. 2023Being Stuck in Someone Else's Theory
  25. 2023ChatGPT Doesn't Know Anything
  26. 2023What Follows from Empirical Software Research?
  27. 2022The Space Between Programs
  28. 2022Social Programming Language Constructs
  29. 2022My Experience Building an Editor in Rust
  30. 2022Towards Aesthetic Elements of Programming
  31. 2021CDD and the Non-Linearity of Discovery
  32. 2020Conceptual Preservation
  33. 2020Conceptual Engineering
  34. 2020Building Meander in Meander
  35. 2019Card Driven Development
  36. 2019Term Rewriting with Meander
  37. 2019Meander for Practical Data Transformation
  38. 2019Named Function Composition
  39. 2018Defending the Incommunicability of Programs
  40. 03Google's Awful Paper on Technical Debt
  41. 04Is the Brain a Computer?
  42. 05Worlds: Mutability with Control
  43. 11On Understanding Data Abstraction Revisited
  44. 15Programming Languages as Technical Artifacts
  45. advent-of-papers
  46. Browse the archive