The document discusses problems with the existing Pharo compiler and proposes a new compiler framework called OPAL. The current compiler has issues with reusability, lack of parametrization, and complex mapping between source code and bytecode. OPAL addresses these by using an AST, explicit compiler contexts, and pluggable visitors. It separates the AST from compilation allowing reuse and maps source directly to an intermediate representation for debugging.