On Tuesday, 25 February 2014 at 18:34:49 UTC, Ary Borenszweig
Yes, it can be a separate module in the source code of the
The compiler is the only one that has most information to
provide lint errors.
If the lint has tests, if you change the compiler you
immediately can tell if the linter stopped working correctly or
needs an update.
If it's separated then it's always the turtle chasing the
Ideally, you'd provide semantic analysis as a library, and use it
in the compiler AND in the linter.
That is even more separation of concerns, and that works well.