そもそも比較演算子も boolean を返す演算子なんだから、
「v が true と等しいことを確認する」を v == true と書くなら、それは結局「v == true という演算の結果が true と等しいことを確認する」ことでもあるんだから (v == true) == true と書かなければ筋が通らないし、以下略
(((v == true) == true) == true) と書かないのに v == true と書くのは一貫性がないでしょう
a == b を「事実の表明」か何かだと勘違いしているのかもしれないが、そんなものはない。ただの比較演算子です
まあ数学の文脈を引き摺っているのだとしたら多少は同情するけど、いや論理学というものがあってね……
逆に中学高校までの数学で「a が 2 と等しいかどうか」の『かどうか』を表現する記法が存在しないので、その影響でというのはあるかもね
やっぱり意味論を知るべしという話なんだよなぁ
@lo48576@mastodon.cardina1.red Haskellとかなら事実の表明よ、これが成り立つなら中括弧の内側は成り立つという事実になるのだから。
@lo48576@mastodon.cardina1.red んげ、haskellってブロックを中括弧で示さなかった?
if(boolean) { if conditional is true, sentence executed }
else { if conditional is false, sentence executed }
と思ってるけど……@tacumi そもそも Haskell だと括弧によるブロックよりもオフサイドルールを使うし、もっといえば guard とかでどうにかするケースの方が多そう