2012-03-04 の Scalaz

自分用メモ
5
ねこはる @halcat0x15a

遅延評価された値を取るということを明示的に表したいのならいいライブラリがありますよ? http://t.co/EFthKaMx

2012-03-04 00:18:34
Kenji Yoshida @xuwei_k

なんか中途半端にいじって飽きた(´・ω・) https://t.co/DXehRFSY 誰かScalazに詳しい人がきっともっと綺麗な書き方をみつけてくれるはず・・・?

2012-03-04 00:46:01
Kenji Yoshida @xuwei_k

あー Left1 と Left2 を or するから Left1 だけ使ってLeft2は捨てるっていう感覚か・・・

2012-03-04 00:50:47
ねこはる @halcat0x15a

def hoge[E, A](e1: Either[E, A], e2: Either[E, A])(f: (A, A) => A) = (e1 |@| e2)(f)

2012-03-04 01:00:15
ねこはる @halcat0x15a

assert(hoge("foo".left[Int], "bar".left[Int])(_ |+| _) === "foo".left[Int])

2012-03-04 01:02:30
Kenji Yoshida @xuwei_k

は!?Σ(゚д゚lll)ガーン

2012-03-04 01:05:11
Kenji Yoshida @xuwei_k

自分は一体何をしていたのか・・・(´・ω・`)

2012-03-04 01:05:46
ねこはる @halcat0x15a

Lensについて書こうと思ったけど、また今度でいいかあ状態。

2012-03-04 01:08:50
Kenji Yoshida @xuwei_k

Scalaz で FirstOption にたいして dual したらそれってつまり意味的に LastOption と同じものな気がしたのだけれど違うのかな?型としては scalaz.Dual[scalaz.FirstOption[Int] とかになってしまうが・・・

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

FirstとかのMonoidってどこに定義されてるんだ。

2012-03-04 01:31:37
Kenji Yoshida @xuwei_k

@halcat0x15a https://t.co/2GumDknO SemigroupとZeroがあれば勝手にMonoidにもなるっていう感じでは?

2012-03-04 01:38:06
Kenji Yoshida @xuwei_k

今のリンク先ちょっとおかしいな、あの行は関係ない

2012-03-04 01:41:18
ねこはる @halcat0x15a

@xuwei_k Firstに関してはSemigroupのインスタンスも定義されていないようなのでFirstが機能しているのかわからない・・・・

2012-03-04 01:42:38
ねこはる @halcat0x15a

いい忘れていましたが私がつぶやくScalazのコードはscalaz-sevenです。 混乱をさせているかも・・・

2012-03-04 01:43:53
ねこはる @halcat0x15a

Dualもimport Dual._をしないと機能しないとか。

2012-03-04 01:46:58
ねこはる @halcat0x15a

sbt.optionにいろいろあった。

2012-03-04 01:50:42
Kenji Yoshida @xuwei_k

なるほど・・・つまりどの話をしているのかなんだか色々わからない(´・ω・`)

2012-03-04 01:51:55
Kenji Yoshida @xuwei_k

つまり Scalaz6 では FirstOption にたいして dual するとネストしちゃってちょっと無駄なことが起きているけれど、 Scalaz7ではそれがtagged type使って、改善されていたりするんです?

2012-03-04 01:56:39
ねこはる @halcat0x15a

Tags.Dual(Tags.First("foo".some)) |+| Tags.Dual(Tags.First("bar".some)) は cyclic aliasing or subtyping involving type @@ とか言われてしまう。

2012-03-04 01:56:55
ねこはる @halcat0x15a

基本的にはTagged Typesはネストできないっぽい。

2012-03-04 01:57:22
ねこはる @halcat0x15a

type Hoge = Int @@ Int @@ String とかは出来ませんよっていう。

2012-03-04 01:58:21
Kenji Yoshida @xuwei_k

そして色々試そうとした、まずscala-sevenの使い方をまったく知らないことに気づいた・・・

2012-03-04 02:00:57
1 ・・ 4 次へ