Library of utilities for tagless final encoded algebras
We continue to bridge the gap between Scala 2 and Scala 3. This release adds support for deriving type classes from Cats. 🥳
Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.16.0...v0.16.1
This is the first release with support for type class derivation on Scala 3! 🥳
It adds derivation for the type classes FunctorK
, ContravariantK
, InvariantK
, SemigroupalK
and ApplyK
. One caveat compared to Scala 2 is that algebras with type members are not supported. The derivation macros are experimental meaning that call-sites need to be annotated with @experimental
. Alternatively, users can enable the -experimental
compiler option starting with Scala 3.4. The reasons for both limitations are rooted in the underlying macro APIs.
Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.15.0...v0.16.0
Now available for Scala 2.12, 2.13 and partially for Scala 3 on the JVM, JS and Native. Many thanks to all contributors ❤️
This is the first release that adds partial support for Scala 3 to the core
and laws
modules! 🥳
This means that the typeclasses themselves and their laws are published for Scala 3, but not yet automatic derivation.
We will need to have a little more patience for this long awaited addition, but hopefully some users can already be unblocked.
Special thanks to @pomadchin for this release and for the ongoing work on cats-tagless for Scala 3.
This involves no less than a complete rewrite of typeclass derivation with the new macro system!
Full Changelog: https://github.com/typelevel/cats-tagless/compare/v0.14.0...v0.15.0
Now available for Scala 2.12 and 2.13 on JVM, JS and Native. Thanks to all contributors ❤️
New - extended support for SemigroupalK
, credit to @ivan-klass for the idea!
Now available for Scala 2.12 and 2.13. Thanks to all contributors ❤️ New - first release supporting Scala Native 🎉
Now available for Scala 2.12 and 2.13. Thanks to all contributors ❤️
Now available on 2.11, 2.12 and 2.13
scala-meta annotations were replaced with scala-reflect ones. Available on Scala 2.13.0-RC2
add support for Scala 2.13-RC1