そこまで関数型になっていないのが面倒って話
Haskellも結局はSTRefやIORefみたいな副作用の抜け道を作っているという説明のほうがわかりやすいと思っている。Rustの内部可変性みたいに可変なのに不変みたいな顔をしている。区別のレベルが違うだけ
Effect tsいいよ!!!!!!!!
log Helloが副作用じゃないとか言い張る関数型勢の屁理屈、嫌いじゃないよ
どこにログを出すかという場所(console)情報が欠落してるように見えるけどjsなら自明だからいいんだろうか
haskellを触って思ったけど副作用を許さないというよりも副作用が型システムで管理されているというのが肝な気がする、このおかげで型をみるだけで副作用を発生させるかどうかがわかる
write 42 foo は気持ち悪いなぁ。なんで write なんだろ
どうでもいいけど、Qiitaみたいな記事に関する批判コメは記事元の返信に書けば筆者と議論できるのになって思うんだよね陰口を言っているようにしか見えない
“実際はJavaScriptとも似たようなぜんぜん平易なコードで書けます。関数型は普通のやつです。”
純粋関数型言語ではconsole.log("Hello")をlog "Hello"と書くし、foo = 42をwrite 42 fooと書く - Qiita
そこまで関数型になっていないのが面倒って話
Haskellも結局はSTRefやIORefみたいな副作用の抜け道を作っているという説明のほうがわかりやすいと思っている。Rustの内部可変性みたいに可変なのに不変みたいな顔をしている。区別のレベルが違うだけ
Effect tsいいよ!!!!!!!!
log Helloが副作用じゃないとか言い張る関数型勢の屁理屈、嫌いじゃないよ
どこにログを出すかという場所(console)情報が欠落してるように見えるけどjsなら自明だからいいんだろうか
haskellを触って思ったけど副作用を許さないというよりも副作用が型システムで管理されているというのが肝な気がする、このおかげで型をみるだけで副作用を発生させるかどうかがわかる
write 42 foo は気持ち悪いなぁ。なんで write なんだろ
どうでもいいけど、Qiitaみたいな記事に関する批判コメは記事元の返信に書けば筆者と議論できるのになって思うんだよね陰口を言っているようにしか見えない
“実際はJavaScriptとも似たようなぜんぜん平易なコードで書けます。関数型は普通のやつです。”