import cats.syntax.all.{*, given} して、足りない場合はさらにimportしていくのがよさそうです
0
ロジニキ(yuma otani) @RayStark77

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
Windymelt(めるくん)🚀❤️‍🔥さんと他1000人 @windymelt

@RayStark77 だいたいcats.implicits.{*, given}を入れてます。たまにcats.data.*入れてます。大抵はこれで済むはず……

2024-04-10 23:58:46
Kenji Yoshida @xuwei_k

@windymelt @RayStark77 github.com/typelevel/cats… cats.implicits は使わない方がいいやつです (なんでdeprecatedアノテーションつけてくれてないのかよくわかってない)

2024-04-11 18:34:14
ロジニキ(yuma otani) @RayStark77

@windymelt @xuwei_k Issueを覗いてみたんですが、下記URLのものが丁度自分の遭遇したものと同じようでした。元ツイでも触れてますが、公式ドキュメント通りimport cats.syntax.all.*ではOrderからOrderingの導出がimportされないようです。 github.com/typelevel/cats…

2024-04-11 18:44:55
ロジニキ(yuma otani) @RayStark77

@windymelt @xuwei_k EqとCanEqualの対応やOrderとOrderingの対応のようにScala標準の型クラスと関連のありそうな型クラスに関する相互運用のプラクティスが今のところドキュメント上からは見つけられないのでどうすれば良いのかわかっていません。今のところ元ツイの4つめのimportで解決していますが…。

2024-04-11 18:46:55
Kenji Yoshida @xuwei_k

@RayStark77 @windymelt おそらく完全に歴史的経緯で、バイナリ互換とソース互換を維持しつつすごく整理するのが面倒というか実質不可能に近い部分もあるからこういう混乱した状況になってるんだと思います。良くも悪くもやることないから以前より開発も活発でもないし

2024-04-11 18:58:37
Kenji Yoshida @xuwei_k

@RayStark77 @windymelt そもそも、少人数で丁寧にimportを基本手書きするならすごく気にする意味あるけど、大人数 and/or IDE任せでimportすると、どうせ(linterで強制しない限り)全然揃わないので、あまり気にしても仕方ない、みたいな部分もありますね

2024-04-11 19:00:17
ロジニキ(yuma otani) @RayStark77

@xuwei_k @windymelt > どうせ(linterで強制しない限り)全然揃わないので、あまり気にしても仕方ない 確かにそれはそうだと思いました…w ところで元ツイで示した課題感については共有したissueで既に取り上げられているようでしたので、定期的にそちらを見に行ってみようと思います。ありがとうございました。

2024-04-11 19:09:10