いきなりですが、このコラムを読んでおられる方々は、静的型付けに対してどのようなイメージをもっておられるでしょうか。今まで、静的型付け VS. 動的型付けの議論をさんざん見てきましたが、静的型の能力に関して正しく理解されている議論をあまり見かけたことがありません。静的型付け VS. 動的型付けの議論で、静的型付け(および明示的な型付け)のメリットとして主に挙げられるのは次の2点でしょう。 コンパイル時に単純なエラーを発見することができる 静的型を明示的に書くことにより、コードを読む人間により多くの情報が伝わる これらのメリットは間違いではありませんが、あくまでJava的な型システム上での話であり、静的型システムによって検出できることは、もっとたくさんあります。このシリーズでは、Scalaの静的型システムを駆使することで、どのような事ができるのかを紹介していきたいと思います。 ここで第1回の題