深夜のオブジェクト指向と関数型がうんたらかんたら

いつも通り特に落とし所はなく、各々が各々の知見を得るための議論です。
3
ちゅーん @its_out_of_tune

@aoeui666 @nobkz そもそも関数プログラミングが「状態」を要求しているならStateモナドで状態を実現する必要は無いのでして、その事自体、関数プログラミングの要件に「状態」が含まれない事をあらわしていると思うんですよ。 OOPLで「状態の実装」なんて考えないでせう。

2015-03-25 02:32:42
青江 憂 @がんばらねば @aoeui666

@its_out_of_tune @nobkz FPって言った時にただのラムダ計算を意味されてます? それは話がずれるはずですね.

2015-03-25 02:32:51
ちゅーん @its_out_of_tune

@aoeui666 @nobkz いいえ、一般的に「関数型」と呼ばれているパラダイムです。

2015-03-25 02:34:24
青江 憂 @がんばらねば @aoeui666

@its_out_of_tune @nobkz いやそれはFPじゃなくてpureなFP特有のことでしょう.

2015-03-25 02:34:28
ちゅーん @its_out_of_tune

@aoeui666 @nobkz 状態を巡って、pureかpureでないかという議論自体起こらないんですよ、OOPLでは。

2015-03-25 02:35:05
ちゅーん @its_out_of_tune

ある関数型プログラミング言語で副作用が扱える事と、関数型プログラミングが副作用を要件としていない事は関係が無い。

2015-03-25 02:36:16
ちゅーん @its_out_of_tune

ある関数型プログラミング言語で副作用が扱える事→ある関数型の処理系が副作用をサポートしている、のほうが良かったかしら?

2015-03-25 02:36:52
ちゅーん @its_out_of_tune

ちゅーんさん、この議論楽しんでいるけど、あおえ氏ーはイライラしてないだろうかみたいな心配。

2015-03-25 02:37:45
青江 憂 @がんばらねば @aoeui666

@its_out_of_tune @nobkz ああなるほど, 言いたいことがやっとわかりました.

2015-03-25 02:38:49
ちゅーん @its_out_of_tune

@aoeui666 @nobkz はい。ささいな事に感じるかもしれないですけど、同じもの、似たようなものを見るときの「視点」が設計に大きく影響を与えると考えると、無視できない違いでは無いかと思っています。(HaskellのStateなんてまさにそうだと思うのです)

2015-03-25 02:40:07
青江 憂 @がんばらねば @aoeui666

そういえば Haskell ってシングルパラダイムだったのか. twitter.com/napthats/statu…

2015-03-25 02:44:56
はなだ☆のぶかず@lisp &ボドゲ勢ボドゲプレイヤー) @nobkz

@its_out_of_tune @aoeui666 結局、大規模というか、トップダウン的な設計になると、設計手法としてのOOPになると思うんですよ。いくら、FPでやっても。FRPのGUIの設計を見ても、大きく違わないなぁと思ったりする感じがあるかんぁ。

2015-03-25 02:46:40
青江 憂 @がんばらねば @aoeui666

@nobkz @its_out_of_tune IOをHaskellみたく一箇所に集約できないってのもあるんじゃないですかね. (FRPよく知りませんが.)

2015-03-25 02:49:47
ちゅーん @its_out_of_tune

@aoeui666 @nobkz ぶっちゃけドメインによる気はしています、基幹業務システムにオブジェクトなんて大きな構造は必要無いと思うのです(現状のように全て手続きでベタ書きするのは問題外ですが)

2015-03-25 02:50:39
はなだ☆のぶかず@lisp &ボドゲ勢ボドゲプレイヤー) @nobkz

@its_out_of_tune @aoeui666 一番OOPが活躍するのってGUIだと思ってきているので、そうなんだと思いまつね。

2015-03-25 02:58:54
ちゅーん @its_out_of_tune

今日はそろそろ寝ようかしらん。

2015-03-25 03:04:47

おまけ

話題に出ていたobjectiveは、
Haskellでオブジェクト指向プログラミングを行うための技術の一つおよびライブラリの名称です、詳しくは下記論文を参照してください。

http://fumieval.github.io/papers/ja/2015-Haskell-objects.pdf