scalacheck
github.com ScalaMatsuri中に内職して作りました、ごめんなさい。 まずmagnoliaとは、
普通に使っていれば影響ないけれど、一応細かい互換は壊れているので、0.3.6から0.4.0と、0.x.yのxの部分を上げてリリースしました。 https://github.com/scalaprops/scalaprops/tree/v0.4.0 https://github.com/scalaprops/sbt-scalaprops/tree/v0.2.0
https://github.com/scalaprops/scalaprops-shapelessscalacheck-shapelessというのがあるので、それを移植しました。
以前もそんなの書いた気がするけど、メモ代わりにまた書いておく
https://github.com/scalaz/scalaz/issues/1096 https://github.com/scalaz/scalaz/pull/1095 https://github.com/rickynils/scalacheck/issues/218
明らかに祭の1日目の一番の収穫でした。
昨日の続編
少し前にこんなのを書きましたがScalaJSを使ってブラウザ上のみでJSONからMessagePackに変換するやつを作った
タイトルにわざと色々詰め込んでとても長くしてみましたが、一言で言うとContravariantなApplicative使うとそれらが共通化出来て便利なことに気がついたのでpull reqしました。という内容です。
標題のことに今更気がついて、少し想定外だったので、それをメモするだけのものです。
Scalaの勉強会で半分くらいHaskellの話してすいませんでした。http://xuwei-k.github.io/slides/scalaprops/
https://github.com/scalaprops/scalaprops *1 *1:最初organization作ってませんでしたが、途中から専用organization作りました
http://xuwei-k.github.io/slides/scalazcheck/#0 https://github.com/xuwei-k/slides/blob/gh-pages/scalazcheck/scalazcheck/scalazcheck.md
pocketberserkerさんが、CoArbitrary実装してた scalacheckの内部構造をいじって遊んでみた
https://github.com/rickynils/scalacheck/issues/136CoArbitrary的な何かを実装するかもしれないらしいです
Scalacheckのversionは1.11.3です。 あくまでも無理矢理です。
scalacheckでバグ見つかる https://github.com/rickynils/scalacheck/issues/75 内容を一言でいうと 「OpitonのArbitraryの質が悪い」 もう少し詳しく説明すると
http://www.artima.com/shop/scalacheck書いてるのは、Scalacheckの作者本人。100ページくらいでわりと小さい感じ。まぁScalacheck自体、ライブラリのコードの行数かなり少ないのでそんなに多く書くこと無いでしょうしね
Scalacheckに標準で、Function1からFunction5まであるのですがhttps://github.com/rickynils/scalacheck/blob/1.10.1/src/main/scala/org/scalacheck/Arbitrary.scala#L308-L336
疲れた・・・けど、一部のArbitraryの書き方が悪いのか、テスト実行すると、一部のテストが無限再帰(?)になって死ぬんだけど誰かURL Scalacheckが理解できてないな。あともうちょっとシンプルに書ける部分ありそう2012-12-18 22:51:50 via web 具体的なエラ…