- 集合論に基づいた言語を作りたい
628 :デフォルトの名無しさん[sage]:2014/10/27(月) 00:50:39.76 ID:UstcwDIj - 関数型で生産性上がらないみたいなこといってるけど、例えば商集合演算を書く時はどうすんの。
集合論に基づいた言語を作るなら、少なくとも関数がファーストクラスであることは生産性に大きく関わると思うんだけど。 あと数学の関数は状態を持たないから、全ての関数が参照透明であるかどうかはともかくとして、 数学の意味での関数を使う場合には参照透明な関数であることを制約するような記述ができる必要があるかもね。
|
- 集合論に基づいた言語を作りたい
641 :デフォルトの名無しさん[sage]:2014/10/27(月) 22:01:34.98 ID:UstcwDIj - 高階関数によるチェインなんかは生産性のあがる例じゃないの。並列化も簡単でしょ。
まあ関数型のスレではないけど、集合論というか数学ってまさに関数型言語なのに、 よくわかってなさそうだからつっこまれるんだろうけど。
|
- 集合論に基づいた言語を作りたい
645 :デフォルトの名無しさん[sage]:2014/10/27(月) 22:57:50.25 ID:UstcwDIj - >>643
個人的な経験でいえば、DBからデータを取ってきて加工したりするときに非常に書きやすいかな。 とにかく、コレクションのデータを加工して流すときに非常に簡潔に書ける。 他にもあるけど、今すぐに思いついたのはこれかな。 並列化はClojureなんかは簡単に書ける。Javaも8からできたんじゃなかったっけ。まあJavaのあれは関数型と言うには気持ち悪いけど。 というか、適用する関数が副作用を持たないと仮定するなら、作用させるデータを分割して再結合すればいいっていう単純な話でそ。
|
- 集合論に基づいた言語を作りたい
646 :デフォルトの名無しさん[sage]:2014/10/27(月) 23:02:23.54 ID:UstcwDIj - あ、メソッドチェーンにおける並列化が簡単にできるという意味ね。
プログラム自動並列化は詳しくないけどまだ発展途上じゃないかな。
|