compiler パッケージにはエラーチェックにいくつか問題が存在します。
構文エラーはインタープリタの 2つの別々のフェーズによって認識されます。
ひとつはインタープリタのパーザによって認識されるもので、
もうひとつはコンパイラによって認識されるものです。
compiler パッケージはインタープリタのパーザに依存しているので、
最初の段階のエラーチェックは労せずして実現できています。
しかしその次の段階は、実装されてはいますが、その実装は不完全です。
たとえば compiler パッケージは引数に同じ名前が 2度以上出てきていても
エラーを出しません: def f(x, x): ...
compiler の将来のバージョンでは、これらの問題は修正される予定です。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。