さて、このあたりのこと色々ありすぎて書ききれないんですが、たまには少し書いておこうという気になったので書いておきます。
猫作者が以下のようなtweetをしていて
「なるほどー、まぁOSSの貢献者を純粋に増やしたいなら悪くない試みかな―(ライブラリの質や、長く続くかは別問題でもあるだろうけど)」
と思いつつも
「いや、scalazと猫の騒動が発生したの、そこが主要な問題だったわけではないし」
「テストのカバレッジより、scalacheckが残念(CoArbitraryがなくてFunctionのランダム値生成不可能)だという大きな問題があるだろ!」
と、なんだか悔しかったので、以下のような反論tweetをしたところ
first, cats developers should be create own test library or fix scalacheck issue URL
Code coverage is not sufficient. I think most important thing is CoArbitraryURL
@xuwei_k Agreed. I would love a new version of ScalaCheck that supports it (or in the longterm a switch to your library).
@xuwei_k But I do think coverage is important, and it's an easy way for people to get involved with the project (and contributing to Cats).
2015-06-10 13:30:37 via Twitter Web Client to @d6
mention返ってきましたね。なるほど、まぁ問題認識してる、かつ自分のライブラリもある程度認めてくれてる、かつなんか正論で返されてイケメンなのでいうことないし、もともとspire作ってるのとかその他色々で尊敬してるし、でも自分はscalazの主要なメンテナとして残って猫のほうには複雑な思いがあるし、この気分はどうすれば以下略
みたいなことがありました。
scalapropsやscalacheckの話は、以下のイベント
で、解説するつもり?なので、ここには今は詳細は書きませんが、すでに結構できててScalacheckより優れてる部分が色々あるし、当初の目的はそれなりに達成されているいい感じのライブラリです、コードや(英語の)ドキュメントの貢献やその他お待ちしてます
https://github.com/scalaprops/scalaprops
さて、それはそれとして、さらにHaskell界隈のproperty testing library事情は奥が深く、以下のtweetで貼ったようなライブラリの移植にも今後挑戦しようと思うのですが
@xuwei_k Great! I have a private project that is somewhat similar to Feat (not specifically for testing though).
- https://www.cs.york.ac.uk/fp/smallcheck/smallcheck.pdf
- http://archive.alvb.in/msc/thesis/reading/enumeration-algebraic-types_Feat.pdf
なんと、nonさんも似たようなもの作ってる!!??え!!!???
ということもありました。
とりあえずnonさんが(featっぽいものにも挑戦してて?) 更にイケメンなのと、でも未だ猫に対しては複雑な心境なのと、引き続きscalazのメンテや開発も頑張っていきたいのと、scalazに残った人達もいい人なので今後も仲良くしていきたいのと、scalapropsの開発と、scalacheckへの貢献と、(scalapropsに入れるのか別ライブラリになるのかは分からないが)さらに優れたproperty testing libraryの移植など、色々頑張っていきたいし、このあたりの話を、「関数型Scalaの集い」かもしくは別のところで話したいので、今後共よろしくお願いします。