人気ブログランキング | 話題のタグを見る

Haskell と意味論と統語論

言語による認識論は必ず統語論的なアプローチと意味論的なアプローチの二つが必要になってくる。

Haskell によるプログラムの特徴として、頭で考えたアイディアとプログラムの記述との差があまりないことが挙げられている。また一方で、Haskell のプログラムの実行は純粋に関数の展開をひたすらやりつづけるという面もある。

このように、Haskell の場合は意味論と統語論の関係が比較的単純に結びついているように思われる。

Haskell の場合意味論的な側面は、再帰関数によって複雑な事象を縮約させるときに現れ、統語論的な側面は、関数の定義をひたすら展開し続けるという面に現れている。

言葉の場合にも単語はその背後に非常に多くの情報との関連があり、多くの情報を一つの単語に集約しているという性質がある。また、単語の配列には構造があり、単語の意味のネットワークをその構造に当てはめることで、単純な文が複雑な文章に展開されていく。

例えば「男性と女性の思考は違う」という短い文があるが、これを例えば、「男性の脳は左右の半球の結合が女性の脳と比べて少なく、左脳的な思考をする際に右脳からの入力の影響を受けないので比較的論理的な思考になりやすい。一方女性の脳は右脳と左脳の結合が強く、より、感性的な思考になる。たとえば、二人の男女が話しているのを見て恋人同士であるかどうかは、女性は比較的容易に推察するが、男性の場合はそれが苦手である。」などと展開していくことができる。

Haskell に見られる意味論と統語論の単純な関係は興味深いが、そのことが、思考の補助道具としてのプログラム言語の候補に Haskell がなれそうな理由の一つかもしれない。
by tnomura9 | 2009-09-02 22:50 | 考えるということ | Comments(0)
<< Haskell によるボウリン... Haskell と式の展開 >>