レポジトリマイニング

ソフトウェアのレポジトリを作り、機械的にインデクスをつけて、いい感じで検索できるようにする、というのはアカデミでもよく検討されている。が、なかなか実用的でないのも事実である。と一般論的にいうのは良くないが、Javaを触っているときに必要なクラスを探すために少なくとも自分はそういう仕組みを使わなかった。が、最近ちょこっとHaskellを使っていて思うのだが、Haskellの場合、Hoogleが結構役に立つ(これがレポジトリ検索なのかという話はおいておいて)。 理由はHaskell関数型言語だから副作用がない、副作用がないから関数の型だけでかなり正確に探したいものを絞り込める、ということに尽きると思う。