Haskell と Scala
@kazu_yamamoto たしかScalazにもStateモナドのようなものはあったと思います。自分はHaskellにあまり詳しくないし、Scalazやkenもほぼ使ってないので、ScalaでStateモナドの利点は自分もよくわかってません
2011-09-16 15:28:39Scala の for がモナド内包表記だというのは、背景の知識があれば10秒で分分かりますね。(リスト内包表記だといっても、僕には OK です。原理は同じだから。)
2011-09-16 15:28:54@kazu_yamamoto ありがとうございます。私もまだ勉強中で方針とかはわかってないんですが、Scala界隈でHaskellの話題になるとScalaz、というような感じでしたのでちょっと感想が聞いてみたかったんです。木についての話題は最近ありましたね。動きがあるのかも
2011-09-16 15:30:45.@xuwei_k State モナドでは、状態を引数として渡していくのですが、それがプログラマーには見えないようになっています。書き換え可能な状態を持たなければ、並行/並列化する際に有利かもしれません。だた、そういうことを目指しているのか、よく分かりません。
2011-09-16 15:31:25@kazu_yamamoto ただScalazのような、他のScalaのライブラリに比べてかなりHaskellライクなライブラリが、海外でそれなりに使われて流行ってきているので、それなりに利点もあるのかなぁーと思ったり
2011-09-16 15:31:55.@yasushia 永続データ構造に関しては、Purely Functional Data Structure という本がバイブルです。10月から読書会も始まります。
2011-09-16 15:32:26.@xuwei_k Scala のプログラムから var をなくせば、やっぱり並列化しやすいんじゃないですかね。あと、バグも入り込みにくくなるでしょうね。
2011-09-16 15:34:40http://j.mp/oT5ssi Functional Data Structures in Scala あったのか。古いからもう動かないだろうな。
2011-09-16 15:35:08Haskell のコードを Scala に変換して、JVM で動く基本正格評価な Haskell を作るツールが出てくるかも。。。
2011-09-16 15:37:18@kazu_yamamoto たしかそれについて実装するとかいくつか実装した、という話題が最近あったんですが、どこでだったか思い出せなくて。
2011-09-16 15:37:36Purely Functional Data Structures はPDFで以前挫折したけど、もしかしたら今ならもうすこし理解できるだろうか。
2011-09-16 15:41:54というわけでみんな「implicit parameter つかえば、Haskell の type class エミュレートできるぜヒャハッー 」っていう odersky先生の有名な論文読みましょう :) http://t.co/9SMPHodT
2011-09-16 15:51:34限界近くまで達するとコンパイラのクラッシュに遭遇するという http://t.co/bKBUS067 http://t.co/UAFgUjIK http://t.co/2EyzTlIn RT @cpp_akira 最近のMBさんはScalaの限界を超えたりしてるんだろうか。
2011-09-16 16:29:12@kazu_yamamoto 書けますね。List(...) パターンは、可変個の要素にマッチさせられる(ライブラリ定義の)パターンで、 通常は 他の関数型言語と同じように、 x::xs と Nil で書きます。
2011-09-16 21:17:17@kazu_yamamoto そうですね。なんでそうなってなかったのか、はちょっと覚えてないのですが…。List()パターンであっても不都合はそれほど無いのですが、可変長パターンで使うのが通常の用法のはずなので、ちょっと違和感はあります。
2011-09-16 22:59:12@kazu_yamamoto その辺の永続データ構造の重要性は、作者のOderskyもScala Daysでさんざん強調していましたね。実際、Scala 2.9の並列コレクションは永続データ構造でこそ本領を発揮するものですし。
2011-09-16 23:01:47@kazu_yamamoto 遅レスですいませんが、RBTreeはScala標準で入ってます。 http://t.co/SI8QGYuC AVLは実装が面倒な割にはそれほど憂いしか微妙なので、入っていないような気がします(憶測ですが)。あと、hash trieも標準であったり。
2011-09-17 01:30:23