cats(-core)使うにあたってimportしておくの、 import cats. * import cats. data.* import cats. syntax. all.* だけじゃなくて import cats. instances.all.* もしておいた方がよさそう? ドキュメントだと上3行だけど、それじゃ型クラスの定義済みのインスタンスが読み込まれない(ex. Order)。
2024-04-10 23:50:11@RayStark77 だいたいcats.implicits.{*, given}を入れてます。たまにcats.data.*入れてます。大抵はこれで済むはず……
2024-04-10 23:58:46@windymelt @RayStark77 github.com/typelevel/cats… cats.implicits は使わない方がいいやつです (なんでdeprecatedアノテーションつけてくれてないのかよくわかってない)
2024-04-11 18:34:14@xuwei_k @RayStark77 初手でimportするやつって何が最適解なんですかねぇ
2024-04-11 18:41:49@xuwei_k @RayStark77 なるほど pic.twitter.com/4zKE7dNbvv
2024-04-11 18:42:13@windymelt @xuwei_k Issueを覗いてみたんですが、下記URLのものが丁度自分の遭遇したものと同じようでした。元ツイでも触れてますが、公式ドキュメント通りimport cats.syntax.all.*ではOrderからOrderingの導出がimportされないようです。 github.com/typelevel/cats…
2024-04-11 18:44:55@windymelt @xuwei_k EqとCanEqualの対応やOrderとOrderingの対応のようにScala標準の型クラスと関連のありそうな型クラスに関する相互運用のプラクティスが今のところドキュメント上からは見つけられないのでどうすれば良いのかわかっていません。今のところ元ツイの4つめのimportで解決していますが…。
2024-04-11 18:46:55@RayStark77 @windymelt おそらく完全に歴史的経緯で、バイナリ互換とソース互換を維持しつつすごく整理するのが面倒というか実質不可能に近い部分もあるからこういう混乱した状況になってるんだと思います。良くも悪くもやることないから以前より開発も活発でもないし
2024-04-11 18:58:37@RayStark77 @windymelt そもそも、少人数で丁寧にimportを基本手書きするならすごく気にする意味あるけど、大人数 and/or IDE任せでimportすると、どうせ(linterで強制しない限り)全然揃わないので、あまり気にしても仕方ない、みたいな部分もありますね
2024-04-11 19:00:17@xuwei_k @windymelt > どうせ(linterで強制しない限り)全然揃わないので、あまり気にしても仕方ない 確かにそれはそうだと思いました…w ところで元ツイで示した課題感については共有したissueで既に取り上げられているようでしたので、定期的にそちらを見に行ってみようと思います。ありがとうございました。
2024-04-11 19:09:10