インドがITに強いわけ

昨日、職務中に、パーニニというすごい人のことを知った。インドにはとんでもないハッカー*1がいたものだと不明を恥じた。昨日の更新がおざなりになったのは、彼のことを調べるのにエネルギーを割いてしまったからでもある。
彼は紀元前5〜6世紀頃のインドの人で、当時の口語(のちにサンスクリットと呼ばれることになる言語)の文法を、一つの著作にまとめた人物である。
これだけならば「ふーん」でおしまいだが、パーニニの著作のすごいところは、その形式の斬新さにある。彼はサンスクリット文法を記述するにあたって、以下のような特徴を持つ独自のメタ言語をこしらえたのだ。

  • 彼の文法典は、語根から可能な語形を導出する、約4000個の変換規則の集合より成る。
  • 変換規則はPrologでいうホーン節のようなものであり、最終的な語形を獲得するために、文法典に散らばって存在する十数個の規則を適切な順序で適用しなければならないケースも珍しくない。
  • 特定の文字の組み合わせが特定の母音や子音の集合、あるいは品詞などを意味するように定義されている。
  • 変換規則の記述方法には特別の規約があり、使用する格によって、示された文字列が置換なのか付加なのか、規則の適用条件はいかなるものか、などが示されたりする。
  • 変換規則の記述に必要な要素が省略された場合、直前の規則の該当部分が、欠けている箇所に充当される。これは記述量を圧縮するための工夫である。
  • 等々。

要するにパーニニは、コンピュータが発明されるより2500年も前に、一種のプログラミング言語で書かれたサンスクリットのパーザを著した、というわけだ。そしてこの文法典はインドのバラモンの伝統的なカリキュラムの初歩とされているので、伝統的な教育を受けたバラモンならば、現代のコンピュータサイエンスの基本的概念に、幼い頃から慣れ親しんでいる、と言えてしまうことになる。これがこの記事のタイトルの言わんとしていることであった。
また、パーニニや彼の同時代の文法学者には、文法規則の記述が半音節でも短縮できれば、我が子が生まれたときよりも喜んだ、という逸話が伝わっているが、これも言ってみれば彼らのハッカー的気性を表していると言えよう。
この記事に興味を持ち、かつ英語が読める人は、http://www.ece.lsu.edu/kak/bhate.pdfあたりを読むとよいと思う。

*1:良い方の意味で。以下同じ。