In my opinion this is a very relevant idea for this book, given that half the purpose is to provide a baseline for others to build on (in addition, of course, to making it easier to implement LSP or analytics.)
How should the interpreter code be refactored to move toward the nanopass concept? Separate crates for parsing and compiling?
What should the interface look like between passes? What types?
See discussion on https://github.com/rust-hosted-langs/runtimes-WG/issues/11 regarding the nanopass concept.
In my opinion this is a very relevant idea for this book, given that half the purpose is to provide a baseline for others to build on (in addition, of course, to making it easier to implement LSP or analytics.)
interpreter
code be refactored to move toward the nanopass concept? Separate crates for parsing and compiling?