型はオブジェクト(対象)であり集合の圏なら集合 カリー=ハワード=ランベック(同型)対応
「関数型プログラミングが『銀の弾丸』であるという非常識な常識2022」の感想 - Qiita
- [考え方]
それな感。型はカリー・ハワード対応等で集合の様にも使えるけど、集合そのものではないよな。あとあの記事の理屈なんか全体的に対象がモノイドである事が普遍的な前提みたいなものを感じるんよな。何なんだろうアレ
2021/12/16 15:24
去年の年末に本書の超アルファ版をUPしたときに、冒頭に
のことを書いた。
まさに冒頭に結構なウェイトをもって書いたので、すこぶる評判が悪かった。
結局の所、こういう関数型の本を書くときには、目線は初学者に向いていなければならないという根本的な方針を徹底することとした。
なぜならば、自分自身、これまでの経験として、ほんとうに鬱陶しい障害となるのは、こういうちょっとわかった風の中級者連中であり、人様の本への論評にかこつけて、なんか偉そうにドヤって、あたかも著述の内容が正確ではない、というような風評を流すことがあるので、彼ら除けの「お札」みたいに権威を貼り付ける、という最低限の作法だけにしようと思ったからだ。
それが、「型は集合」の章であり、このブログでもなんどもしつこいように貼り付けているnLabの項目だ。
ここでもう一度繰り返そう。ここで二つの言い分がある。
ひとつは、どこの馬の骨ともわからない中級者が匿名アカウントでハテなブックマークに殴り書きしたようなコメント
それな感。型はカリー・ハワード対応等で集合の様にも使えるけど、集合そのものではないよな。
もう一方は、数学の引用文献としてそこそこ権威がある
「集合そのものではないよな。」という漠然とした言及が、極めて具体的に「初学者」むけではない解説記事に詳細があるのに、なんでそれを上書きできると思ったのかよくわからない。
おそらく、
型はカリー・ハワード対応等で集合の様にも使える
というハッタリ文句が効くと思ったぽいのは想像にかたくない。
本書の前バージョンから、この「カリー・ハワード対応」というお札を引っ込めた途端に、その分だけ、なんか言ってくるんだな、ほんとうに鬱陶しいと毎度実感する。
今回、おそらく「チューリングマシン」だとか「計算理論」とか、グラフ理論のところで、「関係がある」とだけ書いたら、それについてはなーんもイチャモンつけてこない。
モナドと圏論については、それについて集合の圏では二項演算である、とまさにそれがせいぜい、HaskellのMonad則のページで書かれている全部の範囲なわけだが、そいつはその演算子の定義のコードを自分で出しておきながら、いきなり集合の圏に限らないモナドの定義の話をしだした。
結局の所、くだらない連中には、手間がかかってもお札を貼り漏らすことがあっては行けないということを再度確認しなければいけない。
型はカリー・ハワード対応等で集合の様にも使える
という言及に、こいつは、nLab引用した部分の言及以上にいったい何の価値を感じているのだろうか?
と書いているのだが、ここで
と、まず基底は、圏は集合であり、射は関数となる、集合の圏が基底であると示している。ただし、こんなもんは、イチャモンつけたいこういうごく一部の、まあどうせろくに読みもしない読者対象から外したい連中しか気にもとめないだろう。
いちおう初学者向けに将来にむけて、という意味は断固あるものの、半分くらいはこういう連中除けのお札であることは否めない。
上記の図では、型はオブジェクトに対応している。
これは、ある程度の偶然もあるが、
のオブジェクトにも対応している。集合の圏では、集合だ。
カリー=ハワード=ランベック対応
において、
このカリー=ハワード=ランベック対応は直観主義論理、型付きラムダ計算およびデカルト閉圏との間の対応として知られる。ここでは
オブジェクトは型
あるいは命題に、モルフィズムは項あるいは証明に解釈される。
と書かれているそのものである。
元のQiitaのネガキャン記事では、型が集合ではない、とおもうという主張を、このブログ記事でも糞味噌に批判したが、TypeScriptの実装が、とかかなりトンデモな理路でやらかしているわけで、そういうトンデモにどのように「それな」と同調できるのか意味なんてわかるわけもない、まあこの人物がトンデモだという説明しか成り立たないが、せいぜい
型はカリー・ハワード対応等で集合の様にも使える
と、ボサーっとした意味不明なnLabの引用文を上書きするだけの論旨があるわけもない、
集合そのものではないよな。
ってのは、メタな観点ではこのような有用な観点で同一視されているものを、メタではない観点では、そりゃ
は、繰り返すとここで論じているメタな観点の同一視ではないレベルでは「そのものではない」のは自明なので、こういう主張の仕方するやつらって世の中で消えることはないけど、有害だよなあ、と思った次第。
基本的に、僕の書いたもんに文句つけてくる人間っていうのは、一様になんか思い込みが激しくて、最後には、自分の好きなPureScriptとかうAltJS使えとか、ML使えとか、自分の趣味領域の好みの発露をしてそれで満足みたいな、議論には適正のない、ましてや書評とかやってほしくない単に自己中心的な人種ばっかりで、迷惑だなあと思う。