Haskellの構文やルールは一見、「なんでこれがこうなんだ!?」と思えるものが多いが、書いてみると、確かに、「ああ、なるほど……」と納得せざるをえない物が多い。

  • なんでenum用途の型を「data」予約語で定義するのか、とか。最初は紛らわしいだけじゃないかと思っていたが、そうしておくと、再帰的な定義の型の中に、直接enum値を含める事が出来る事に気付いた。

しかし……それが本質的なのかどうかについては、かなり疑問があるような気がする。
どうにも、人間世界の歴史的な慣習に囚われた部分からの影響が色濃すぎる気がする。

  • 極端な事を言うなら、「+」よりも「*」の方が優先順位が高い、なんてのは全くもって歴史的な由来のルールで、プログラミングや数学の本質とは全く関係が無い……と思う、多分(要出典)。

とは言え、「人間が書く為のプログラミング言語」ならば、人間世界の歴史的な慣習由来であっても、それを考慮する価値は確かにある、のも分かる。分かるが……でも本質的じゃないのは確かだろ。