-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plans for after Scala 3.0 #248
Comments
FYI, https://github.com/lampepfl/xml-interpolator contains a new xml interpolator implementation for Dotty, which is mostly complete (its usage of scala-parser-combinators should either be replaced by fastparse, or by a hand-written recursive descent parser like the one in https://github.com/scala/scala/blob/2.13.x/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala). It'd be great to see it merged into this repo. |
Merging an interpolator could be done. I probably wrote this above already, but the dependency on scala-xml has been removed from the Scala compiler in 2.13 and in sbt 1.2.x. This frees us to entertain significant changes and even introduce dependencies to scala-xml. So will the interpolator work for Scala 2.12 and 2.13, as well? Or is it Dotty-only? |
Dotty-only since it uses Dotty macros. |
Hi, how do you guys think about the name based XML literal proposal? I am working on the implementation of in Scala 2 recently, and looking forward to port it to dotty. |
Here's where things stand currently:
Any more ambitious changes remain future possibilities. |
There's a proposal to remove XML literals in Scala 3 ("dotty") and replace them with an alternative interpolated string library. The library has macro code that makes sure the XML in the string is well-formed at compile time.
This proposal is a long time coming and is not a big surprise, but how will this affect the development of scala-xml library?
Here are a few considerations:
scala.xml.Properties
singleton, which is four lines of code. The code for XML literals is entirely in the compiler. That code is actually an optional dependency on scala-xml starting with the 2.13 compiler.scala.xml.Node
and friends).quote
?).We should probably take the opportunity to make a major release (scala-xml 2.0) with some of the following changes:
We can probably expect breaking changes for Scala 3 ("dotty") that might require breaking changes to scala-xml. That could require a new major version of scala-xml, which would be 3.0 and make a nice correspondence with Scala 3's version number.
The text was updated successfully, but these errors were encountered: