- Update Cats to version
1.1.0
. - Update Scalaz to version
7.2.22
.
- Switch to new macros -- scala.meta
- Don't require installing an IntelliJ plugin to use this library.
- Fix #9
- BREAKING CHANGE!
Interp
trait extends the natural transformation. See change -- example
- Add support for Scala 2.12 and Scala.js.
- Update to Cats version
0.8.0
. - Fix plugin issues for older Intellij versions ( #3 and #5 )
Starting with version 0.5.0
, this project is now published to Sonatype. In addition, group id has been changed to com.github.thangiee
.
For example, to update from version 0.4.1
to 0.5.0
, change your build.sbt from this:
resolvers += Resolver.jcenterRepo
libraryDependencies ++= Seq(
"com.thangiee" %% "freasy-monad" % "0.4.1",
"org.typelevel" %% "cats" % "0.7.2"
)
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
to the following:
libraryDependencies ++= Seq(
"com.github.thangiee" %% "freasy-monad" % "0.5.0",
"org.typelevel" %% "cats" % "0.8.1"
)
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)
- #4: Fix expanded code does not add type param F to method's rhs in Injects class in some cases.
- #4: Fix: empty-parentheses cause "too many arguments" error for methods in Injects class.
- Add support for scalaz. (
freasymonad.scalaz.free
) - BREAKING CHANGE! Rename
freasymonad.free
annotation tofreasymonad.cats.free
. - BREAKING CHANGE! Rename
Inject
class toInjects
. - Update plugin
- #2: Support defining
val
- Add constraints that result in compiler error.
- Optimize generated code.
- Update plugin
- Replace
Free.liftF
withFree.inject
. - Support multiple parameters lists for abstract method.
- Generate additional
injectOps
obj. andInject
class for composing Free monads ADTs. See example here. - BREAKING CHANGE! Move ADT generation outside of
ops
obj. e.g.KVStore.ops.GrammarADT
toKVStore.GrammarADT
. - Plugin fix: error marks when @free trait is defined at root (i.e. not under a package).