Join Nostr
2026-07-21 08:46:45 UTC

YoshikuniJujo on Nostr: Haskellについて。筆が乗り長くなってしまった ...

Haskellについて。筆が乗り長くなってしまった

僕はHaskellが好きだから、Haskellのいいところも悪いところも好きなんだけど、他の人にもHaskellの良さを知ってもらいたくて「Haskellは他の言語と全然違ってて面白いからみんなやろう」とも言うし、「Haskellも別に他の言語と本質的な違いはないから怖くないよ。みんなHaskellやろう」とも言う。

矛盾しているようだけど、嘘をついているわけではない。

一番思うことは「安全なことはきれいに書ける」のと「危険なこともできるけど、そうするとコードは汚くなる」という話。他の言語で直面する「こっちのほうが安全だけど記述がごちゃごちゃする」「こっちはすっきり書けるけど実は危険」みたいなことが比較的少ない。

あと、値と状態とを混同していないのがすごくいいところ。

例えば、20度ってのは「値」で、たとえば「摩周湖の水温」ってのは状態。
さらに「摩周湖」ってのがオブジェクト。

「摩周湖の水温」は変化するけど、「20度が変化する」ってのはおかしい。

でさらに面白いというか、ややこしいのは「摩周湖の水温」は状態だけど「『摩周湖の水温』という概念」は値だということ。HaskellにはIORef aという型があって、これは一見「変化する状態」のように見えるけど本質的には「変化する状態につけたラベル」であって、これは値。

言うならば、ファイルの名前とファイルの内容のような関係。