Play2.1のfunctionalパッケージとバリデーション #play_ja
書いた http://t.co/h106Sabh "Play2.1のfunctional packageのApplicativeを使う" #play_ja
2013-02-17 18:48:34Play は web framework のはずなのになあ。ほんとに API に対する意識低い…それともわかった上で public にしてるのかなあ…
2013-02-17 19:40:24まあ人の勝手だけどPlayに一応バリデーションの仕組みあるのでApplicativeとか持ち出す前にそっち検討しましょうね。。。
2013-02-17 19:58:44.@tototoshi まぁ多分内部でJsonのバリデーションの仕組み実装するのに不便だったから作ったんじゃないですかね・・・ https://t.co/lePhHWCM JsResultがapplicativeかつalternativeになってるわけで
2013-02-17 20:04:37@xuwei_k そのapplicativeとかをフレームワークのユーザーに使って欲しいのか欲しくないのかはっきりして欲しいですね。ドキュメントにあるのかなあ。
2013-02-17 20:06:12bind が flatMap で実装されるのは普通だと思うのだけど、apply は あくまでそこまでの力というか、なんというか flatMap 未満の力というか、そういうのでやって欲しい感じがする。まぁ、いいのかな。
2013-02-17 20:08:46.@tototoshi (ドキュメントにはないと思います)って言おうとして探したら、普通にあった http://t.co/AZka4GPs
2013-02-17 20:09:10@tototoshi いや、Reads とか Writes とか Format のtypeclassのインスタンスを明示的に実装する場合の説明っぽい?長くてちゃんと読んでないから、デフォルトで用意されている仕組みだけで足りる場合は使わないのかもしれないけど・・・
2013-02-17 20:18:27JsErrorみたいなの作ろうかと思ったけどjson4sの場合一回case classにしてそれに対するバリデーションをかけるわけだから微妙に違うな。
2013-02-17 20:29:33Playの場合は、Formと同じくbindするときにバリデーションが入るのかな。あとでちゃんと見よう。
2013-02-17 20:30:33(json4sにも、lift-jsonから受け継いだscalazモジュールが・・・) https://t.co/RD6y27rr
2013-02-17 20:33:55@tototoshi @lyrical_logical そこで(最近開発が活発な)http4sですよ!(?) https://t.co/FwFKXAmW
2013-02-17 21:11:34https://t.co/21FpIZs8 これに関しては他のWebフレームワークの経験があまりないのと、Scala自体やScalaのライブラリの変化の激しさに慣れ過ぎてて、全く感じなかったというか考えたことなかったけど、まぁたぶん自分の感覚がおかしい
2013-02-17 21:30:23PlayのJsResultはScalazのValidationとほぼ同一 → しかしエラーがNonEmptyListではなくSeq → なのでAlternativeのインスタンスが作れてしまう→ ついでにAlternative[Reads]も(たぶん必要ないのに)作ってしまってる
2013-02-17 21:36:02