with 文の文法について

これは発見がとても難しいバグとなります。

2009-02-22 - 新言語 Xtalを作る日記

なぜ発見が難しくなってしまうかというと、with で指定している式のメンバを参照しているのか、あるいは単にローカル変数を参照しているのかが、文法的に区別できなくなるためです。静的型付け言語ならばコンパイル時にエラーを検出できるかもしれませんが、そもそもの原因は文法的な曖昧さにあって、動的型付け機構に原因は無いというのが自分の考えです。
ならば文法的に区別できれば良いという考えに行き着きますが、某 VisualBasic と呼ばれている微妙に嫌われものの言語では、

n = 0
with object
  .size = n
end with

というふうに書けたりします。これならば曖昧さが少ないです。