To be sure, upgrading Daffodil from Scala 2.12 to Scala 2.13 is a prerequisite 
and that upgrade will be as much work as the upgrade from Scala 2.13 to Scala 
3.x so we're talking about two major efforts, not just one.  If Daffodil users 
are happy with Scala 2.12 and aren't requesting support for Scala 2.13 or 3 
yet, we don't have to prioritize 2.13 and once we migrate to 2.13, we probably 
will have to keep cross compiling Daffodil for both 2.12 and 2.13 for several 
releases before we begin migrating to Scala 3.  A lot of work has gone into 
making sure Scala 2.13 and Scala 3 will remain binary compatible with each 
other to some degree, so remaining on 2.13 for a long period of time won't hurt 
Daffodil users.  However, I'm curious why there would be any doubts we'll ever 
upgrade to Scala 3?  

Supposedly the migration will not be harder than moving from Scala 2.12 to 
Scala 2.13 
(https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html) 
and 
will even be simpler in some respects due to the interoperability between Scala 
2.13 and Scala 3, although we'll have to replace all Scala 2 macros with Scala 
3 macros, scala-reflect calls with Java reflection or Scala 3 metaprogramming, 
and XML literals with XML string interpolation 
(https://docs.scala-lang.org/scala3/reference/dropped-features/xml.html).  To 
be sure, we may have to wait a long time for XML string interpolation to be 
ready since the XML interpolator project hasn't made a release yet 
(https://github.com/lampepfl/xml-interpolator).  However, once these problems 
are in the past, we will be able to use the new powerful features of Scala 3 
which have no equivalent in Scala 2 and even though Scala 3 sources cannot be 
compiled with Scala 2.13 anymore, Scala 3 artifacts can be consumed as 
dependencies in Scala 2.13.

-----Original Message-----
From: GitBox <g...@apache.org> 
Sent: Tuesday, April 5, 2022 7:17 AM
To: comm...@daffodil.apache.org
Subject: EXT: [GitHub] [daffodil] mbeckerle commented on pull request #783: 
Update scala-xml to 2.1.0

   Let's leave this PR open. I'll create a JIRA ticket for upgrade to Scala XML 
2.1.0 version. 
   
   We really do have to look at this carefully. Scala XML support is evolving 
radically in the transition from Scala 2.12 to 2.13 and 3.x. (I have my doubts 
about whether we will ever upgrade to Scala 3 actually)
   
   OTOH: there are some annoying XML bugs that really do actually impact DFDL 
schemas - e.g., scala xml not handling character 0xB properly, etc. that 
actually are hard to work around for us. I'm hoping these are fixed in scala 
xml 2.1.0. 
   
   But that said, no point putting a great deal of work into fixing this if 
it's all going to be scrap when we upgrade to a newer Scala. 

Reply via email to