These are chat archives for scalajp/functional

27th
May 2015
pocketberserker
@pocketberserker
May 27 2015 04:26
移しました
Manabu Nakamura
@gakuzzzz
May 27 2015 04:42
お、organizationになったんですね :+1:
kenji yoshida
@xuwei-k
May 27 2015 04:51
organizationにリポジトリ移行しても、travis-ciのenvの設定は引き継がれるという知見を得た
shapelessのbindingとかいつ作ろうかな・・・。shapeless自体か、scalapropsのバイナリ互換というかリリースサイクルが安定しないと、別リポジトリに作ろうが、scalapropsリポジトリ本体に入れようが、メンテが大変になる、という辛みがある
あと、GenのMonad Transformer大体できた気がするけど、これやっちゃっていいんだろうか scalaprops/scalaprops@a688fa2
(必要性のわりには、コードがぱっと見読みづらくなる、などのデメリットある?)
Gen はそのままで case class GenT は別に作る、とかもありえるんだろうか?
pocketberserker
@pocketberserker
May 27 2015 07:32
読みづらいという印象はうけなかったですけど、どうなのでしょうね
Manabu Nakamura
@gakuzzzz
May 27 2015 07:39
質問です! Traverse と Traversal が別クラスになってるのは何故なんでしょう?
kenji yoshida
@xuwei-k
May 27 2015 07:42
Haskellでの話です?
Manabu Nakamura
@gakuzzzz
May 27 2015 07:51
Scalaz の話でした
Haskell も Traversable と lens の Traversal は別っぽい
Scalaz だと Traverse が メンバクラスとして Traversal を持ってるんですよね https://github.com/scalaz/scalaz/blob/4fa9d9fce7cec05c85c3e99a707c47ed9d0e6b05/core/src/main/scala/scalaz/Traverse.scala#L49
kenji yoshida
@xuwei-k
May 27 2015 08:08
scalazのTraverseの内部のTraversalは、型推論のためというか引数の順序変えたいときに使うだけで、lensあまり関係ない気がする(微妙に自信ないが)
Manabu Nakamura
@gakuzzzz
May 27 2015 08:10
なるほど、実装都合の問題であって、クラスになってるのはそれほど重要な意味が有るわけでは無さそうって事ですかね
HaskellでもMonocleでも、Traversalは型クラスじゃなくデータ構造かな
Manabu Nakamura
@gakuzzzz
May 27 2015 08:41
Monocle の方は Const が存在してるのか
kenji yoshida
@xuwei-k
May 27 2015 08:42
Constとは
Applicative な Monoid という理解
Manabu Nakamura
@gakuzzzz
May 27 2015 08:51
型クラス的なものをデータ構造として表すってことは値として扱えると嬉しい場合があるって事ですよね多分…
一つの型に対して型クラスインスタンスが一つに決定するより、複数の型クラスインスタンスを動的に組み合わせて使いたいとかそういう話なのかな
kenji yoshida
@xuwei-k
May 27 2015 09:02
Haskellerに聞こう(?)
Manabu Nakamura
@gakuzzzz
May 27 2015 09:05
そうしよう