プログラミング言語と背景にある理論

LISPはラムダ計算に基づいている。Haskellの型クラスは記号論理学的だ。例えば↓の式なんてシーケントそっくり。

sort :: Ord a => [a] -> [a]

Haskellでは記号論理学という背景があるので、圏論を使用してモナドという強力な道具を取り込むことができた。
HaskellでEqやOrdといった概念を理解したら、数学の相当関係・同値関係・順序関係などの概念にも親しみがわく。LISP/SchemeHaskell再帰は気持ちいい。再帰数学的帰納法と深くかかわりがあるので、再帰を使うように設計されている言語では、多くの数学の表現をそのままプログラムに落とすことができる。しっかりとした背景理論のある言語を使うと、その理論をじかに触れて学ぶことができる。だからLISPHaskellを使うのは楽しい。