simulacrum
simulacrum copied to clipboard
First class syntax support for type classes in Scala
Enabled the generation of type-classes where `Ops` syntax are generated with varargs Attempted to reduce some of the IDE warnings/suggestions noise #boyscout
Hi, how can define function with varargs ? b can not be A*, does works with List[A]. Any idea how to make it works? Thanks @typeclass trait CanTruthy[A] { self...
`@op` annotation causing compilation error on 2.13.1 `@typeclass` works perfectly fine Reference project [hicolour/simulacrum-2.13-op](https://github.com/hicolour/simulacrum-2.13-op) Reference build: * [without `@op`](https://travis-ci.org/hicolour/simulacrum-2.13-op/builds/635383233) * [with `@op`](https://travis-ci.org/hicolour/simulacrum-2.13-op/builds/635384936) ``` sbt.version=1.3.6 lazy val root = (project in...
After playing around a bit with simulacrum i have seen a few weird (maybe) behaviours ``` @typeclass trait TestClass[S[_]] { def test[P[_], I](a1: S[P[I]]): I } ``` Works. Adding second...
Hi, I've been working on the issue at cats (https://github.com/typelevel/cats/issues/3141), and have found strange behavior of simulacrum. I've implemented a method `def foldA[G[_], A](fga: F[G[A]])(implicit G: Applicative[G], A: Monoid[A]): G[A]`...
Supposing the following implementation: ```scala package example import simulacrum.typeclass /** * My formatter * * @tparam A */ @typeclass trait Show[A] { /** * Formats the model * @param a...
Hi, If I try and use Simulcrum on the following: ``` @typeclass trait Functor[F[_]] { self => def map[A, B](fa: F[A])(f: A => B): F[B] def widen[A, B >: A](fa:...
Currently annotating a type with `@typeclass` generates members that don't have explicit return types. This conflicts with the `Wart.PublicInference` WartRemover rule. You can see this issue with the simulacrum library...
See the sibling issue at: https://github.com/scalameta/scalagen/issues/22 I will consider scalagen production ready once that issue is closed. With scalagen simulacrum should be able to support SN/SJS/Scala2.10/11/12/13 + Dotty all with...