なぜHaskellには、単純なライブラリ関数ではなくif/then/else
、Bool
タイプに依存する組み込みがありますか?といった
if :: Bool -> a -> a -> a
if True x _ = x
if False _ y = y
4
私は、agdaにあるようなmixfix関数なしでは手に入らないif / then / else構文を明示的に望んでいたと思います。あなたが参照する関数は三元として構造化されており、自分で実装することができますが、if / then / elseシュガー(おそらくケース上のシュガー)を与えたと思われますが、それは無害だからです。ここで私をバックアップするため、コメントでこれを書いています。
—
ジミー・ホッファ
これはほとんどの読者にとって明らかかもしれませんが、関数としてîf/ then / elseを使用することは、怠zyでは合理的ですが、熱心な言語(スキームやsmlなど)では良い解決策ではないことを指摘したいと思います。 Haskellのような言語。
—
ジョルジオ