#Scalaz 7の設計変更に伴う問題

やはり、3人のなかで自分が一番理解できてない感(´・ω・`)
4
∃ugene 🥙yokot∀ @eed3si9n_ja

独習 Scalaz でカバーしてったことをチートシートにまとめています - http://t.co/hvxQbtuo

2012-09-02 16:54:42
∃ugene 🥙yokot∀ @eed3si9n_ja

@xuwei_k @halcat0x15a 諦めて `Apply[Option].ap` 使いましたが `1.some <*> {(_: Int) + 3}.some` みたいにすっきりした書き方はもうできなくなったんですか?

2012-09-02 16:58:05
ねこはる @halcat0x15a

@eed3si9n_ja @xuwei_k ApplicativeBuilderと一緒になくなってしまいましたね・・・ apを使う以外の方法は見つかりませんでした。

2012-09-02 17:09:14
Kenji Yoshida @xuwei_k

@eed3si9n_ja 問題の論点がよくわかってないですが、どのversionのこといってますか。言われたコードを複数versionで試したらこんな結果になりましたが https://t.co/zRO2nY2l あとimport文ミスとかなにか単純ミスの可能性とか?

2012-09-02 17:09:15
ねこはる @halcat0x15a

@xuwei_k 最新版だと<*>の定義が変わってしまっていて、<**>,<***>...なんかもdeprecatedです。

2012-09-02 17:11:14
ねこはる @halcat0x15a

^(a, b)(f)なんかを使えってことだろうけど、<*>の代替えは欲しい気がする。

2012-09-02 17:13:50
ねこはる @halcat0x15a

^(a, b)(f)はUnapplyに対応してない気がするし、早くどうにかして欲しい。

2012-09-02 17:15:28
∃ugene 🥙yokot∀ @eed3si9n_ja

@xuwei_k 僕が使ってるのは 7.0.0-M3 です。戻り値型までちゃんと書いてあるんでミスではないと思いますが、作者に聞いてみようかな - https://t.co/uJVlU7WI

2012-09-02 17:15:31
Kenji Yoshida @xuwei_k

@eed3si9n_ja つまり "昔はスッキリできたことが、今では型引数を一つ多く書く冗長な書き方をしければならなくなった" => ねこはる先生 @halcat0x15a がforkして、新しい演算子を定義してpull requestを送れば解決! という理解で合ってますかね?

2012-09-02 17:19:42
ねこはる @halcat0x15a

@eed3si9n_ja ^(1.right[String], 2.right[String])(_ + _) ができないのも問題だと思うのですよ。

2012-09-02 17:19:49
ねこはる @halcat0x15a

ToApplyOps#^のUnapply版とか定義できないので従来の方法を残さないとダメな気がする。

2012-09-02 17:27:51
Kenji Yoshida @xuwei_k

@halcat0x15a "ちょっと設計変更して短く書けるようになった部分もある"けど、"変更後のデメリットが大きい"という状態だから、戻したほうがいいのではという状態?それともさらに改善できる新しいアイデアが?(あまり詳細に問題が理解できてなくて、なんとなく想像で言ってる人)

2012-09-02 17:31:37
∃ugene 🥙yokot∀ @eed3si9n_ja

@xuwei_k @halcat0x15a とりあえず ML に投げてみましたが、初投稿なのでモデ待ちです。

2012-09-02 17:34:04

<*> in Scalaz 7.0.0-M3

https://groups.google.com/forum/?fromgroups=#!topic/scalaz/g0YPdgBeEAw

ねこはる @halcat0x15a

@xuwei_k 変更したことによって|@|のたびに中間オブジェクトを作らなくなったけど、Opsを使わなくなったことによってUnapplyの仕組みが使えなくなったのでEitherとかValidationに対してApplicative Styleが出来なくなったので意味ねーと。

2012-09-02 17:36:02
ねこはる @halcat0x15a

@xuwei_k 代替え案はTupleNに対してOps定義するとかかなあ。 この問題はMLなんかであがってないんですかね。

2012-09-02 17:37:14
Kenji Yoshida @xuwei_k

@halcat0x15a おぉぉーとてもわかりやすい解説どうも。そういえば設計変更のメリットは「短く書ける」と他に「中間オブジェクト生成しなくなった」か

2012-09-02 17:38:51
Yasushi Abe @yasushia

http://t.co/s4c4P4SA よくわからないけど長引きそうな雰囲気

2012-09-02 18:05:47
Kenji Yoshida @xuwei_k

.@ueshin 「知ったかぶりして、ドヤ顔してねこはる先生に無茶ぶりして、"え?自分がpull requestするんですか?"」という展開を期待してたのに、そんなに問題は単純じゃなくてその後真面目な議論が続き、二人にそのtweetはなんとなくスルーされるという悲しい事件が

2012-09-02 18:45:21
∃ugene 🥙yokot∀ @eed3si9n_ja

<*> 問題に関しては渋々ながらも作者の了解を得られてたので、「14日目」で戻して送った pull request が取り込まれました。|@| も撤廃返上で話がまとまって torreborre さんのプルリクが入ったはず。文句があったら ML に持ち込んで、プルリクしましょう。

2012-09-28 10:57:09