
Does this compiler architecture make sense?
I've been working on a hobby programming language/compiler project for several months. AI has been a huge help during development—not by writing the project for me, but by acting as a brainstorming partner, reviewing architecture ideas, discussing trade-offs, and helping me iterate faster.
One of the ideas that came out of those discussions is a compiler architecture where the compiler kernel stays intentionally small. Instead of implementing the language directly in the compiler, things like the grammar, type system, semantic analysis, lowering, and optimizations are implemented as libraries.
The compiler mainly provides the infrastructure: parsing, AST, compile-time execution, diagnostics, and backend support.
The goal is to make language evolution happen by extending libraries instead of modifying compiler internals.
I'm curious what people with compiler or language design experience think about this approach. Does it sound like a reasonable architecture, or are there fundamental problems that would prevent it from scaling?
I'd really appreciate honest criticism. If this idea has already been explored by other projects or papers, I'd love to hear about them as well.