2012年9月3日 深夜〜早朝の #Scalaz

Scala で、どのjsonライブラリを使うか悩んでいた、ねこはる先生に、 http://d.hatena.ne.jp/xuwei/20120519/1337369625 続きを読む
3
ねこはる @halcat0x15a

部分レンズはどう使うのだろう。 orElse的なものがあるのかな。

2012-09-03 03:41:27
Kenji Yoshida @xuwei_k

ねこはる先生が argonaut 選んで、LensとPartialLensに目覚めてきて面白い展開になってきたw 流石や…

2012-09-03 03:41:35
ねこはる @halcat0x15a

あー Optionで返るだけかな。

2012-09-03 03:42:39
Kenji Yoshida @xuwei_k

たしか、scalaz作者の人が書いたLensの論文というかpdfのdocumentあったはずなので、自分ももう一回読み直そう

2012-09-03 03:43:54
ねこはる @halcat0x15a

部分って単語で思ったけど、LensはCategoryなのか。

2012-09-03 03:44:31
ねこはる @halcat0x15a

LensはStateモナドの文脈で便利なシンタックスを提供してくれるもの程度にしか使ってなかったからLens同士の合成とかイメージ湧かない。

2012-09-03 03:47:15
Shingo Omura ⎈ @everpeace

@halcat0x15a 複雑なデータ構造上で合成すると良いかなとか。順序木とかで、たとえば「Child(n): n番目の子供」ってのを合成するとChild(1) andThen Child(2)とかで木をもぐって特定のノードだけにフォーカスするLensができるとか。

2012-09-03 03:52:03
Shingo Omura ⎈ @everpeace

Bidirectional Lensとかってなんなの。。。よぉしパパ勉強しちゃうもんね〜〜!って子供は居ないんですが^^; http://t.co/ITMwXP1q

2012-09-03 03:54:52
Shingo Omura ⎈ @everpeace

@halcat0x15a そうですそうです。それをgetしたり、setしたりできるLensになるってことですね。

2012-09-03 03:56:01
Shingo Omura ⎈ @everpeace

@halcat0x15a いえいえ!絡みたいのになかなか追いつけないのが申し訳なく>< scala-machineも面白いですよね!

2012-09-03 03:58:02
Kenji Yoshida @xuwei_k

@everpeace おぉここにもscala-machine仲間が(?)自分もIterateeさえまだよくわかってないけど、面白そうですよねあれ

2012-09-03 04:02:05
ねこはる @halcat0x15a

PLens# :=を使うとPStateが返るのか。

2012-09-03 04:02:32
ねこはる @halcat0x15a

type PState[A, B] = StateT[Id, A, Option[B]]

2012-09-03 04:03:51
ねこはる @halcat0x15a

StateT[Option, A, B]を予想してた。

2012-09-03 04:04:16
ねこはる @halcat0x15a

ただのStateモナドか・・・・ Optionをどう処理するんだろう。

2012-09-03 04:05:01
Shingo Omura ⎈ @everpeace

@xuwei_k 仲間に入れていただけるなら光栄です!@halcat0x15a さん含めいつも面白いネタいただいてますm(-_-)m scala-machine 面白いです!Iterateeより、もうちょっと「計算」に寄っている感じがして。 今はAutomaton作ってみてます。

2012-09-03 04:06:12
Kenji Yoshida @xuwei_k

あーなんかどこでもいいから、ふらっと海外旅行に行って、海外のScalaistと交流したいわー

2012-09-03 04:06:45
ねこはる @halcat0x15a

ムズイ・・・ OptionとかStateになる前にLensでどうにかするのだろうけど・・・・

2012-09-03 04:13:15
Shingo Omura ⎈ @everpeace

@halcat0x15a 飽きさせてくれない、はそうですよねー ただ追いつけないのがもどかしい^^;

2012-09-03 04:15:46
ねこはる @halcat0x15a

頭がパンクしてた。 うむ、簡単だ。

2012-09-03 04:22:33
Shingo Omura ⎈ @everpeace

Partial Lensって例えば木のあるノードに対する"n番目の子"ってLensはPartial Lensなんだな。居るかどうかわかんないもんね。Node=>Option[Node]ならPartialじゃなくなるのかな。

2012-09-03 04:24:30
Kenji Yoshida @xuwei_k

簡単だと…なにを言っているんだ…

2012-09-03 04:25:50
ねこはる @halcat0x15a

jObjectL andThen (JsonObject jsonObjectPL "access_token") andThen jStringL

2012-09-03 04:34:40