Kiama is a Scala library for language processing including attribute grammars, term rewriting, abstract state machines, parsing, and pretty printing.
This is a minor release with a couple of enhancements, dropping support for Scala 2.10, and adding support for Scala 3.
Irrefutable extractor patterns now return Some
instead of Option
. Most notably, Relation.unapplySeq
now returns Some[Vector[U]]
instead of Option[Vector[U]]
. Similarly for Relation.pair.unapplySeq
.
Avoid Constructor.getParameterCount
in Rewriter so that Android versions 7 and earlier are supported (issue 28). Thanks to Benjamin Schulte (@MrStahlfelge) for the suggestion.
Kiama is now published for Scala 3.0.0.
Mostly move to scalatest 3.2.9, scalacheck 1.15.4. Includes only depending on the ScalaTest modules that we use.
On Scala 2.11, we still use scalatest 3.2.3 and scalacheck 1.15.2, since ScalaCheck is not published for 2.11 after 1.15.2, and later versions of the ScalaTest support for ScalaCheck are not published for 3.2.9 and 2.11.
Move to Scala 3.0.0, 2.13.6, 2.12.14, 2.11.12, sbt 1.5.4, Guava 30.1.1, Scallop 4.0.3.