https://github.com/scala-native/scala-native/tree/topic/dotty-support branch of scala-native together with https://github.com/densh/dotty/tree/nir fork of dotty contains initial work to integrate of dotty as Scala Native fronted. This is far from production ready and needs to be updated to reflect recent changes in the NIR.
Was looking into this a bit and found that there is a Dotty (Scala 3) plugin API - http://dotty.epfl.ch/api/dotty/tools/dotc/plugins/Plugin.html
Plugin API ported to Dotty - lampepfl/dotty#3438
Stale sbt plugin code? lampepfl/dotty#4215
Superceded by this? sbt/sbt#4073
Thanks for the help @Blaisorblade
Is there any plan on working on porting Scala Native to dotty? If there is, is there anything where help might be needed?
I've been thinking for a couple of weeks on Dotty and Scala Native, and I think that combining the two things can provide a very, very interesting language.
As a practical example: dotty's 'opaque types', 'extension methods' and (maybe) 'hard inlining' could make things like CString in SN as performant as in C but with the correct safety
What do you think?
@marcesquerra sooner or later Scala Native will be working in Scala 3, that's for sure!
But before it happens we need to make sure that it works correctly in Scala 2 and NIR format is stable, otherwise, each bug or feature would need to be addressed twice. That might be an overkill for our relatively small team. There's still a lot of things missing before we can consider it done: multithreading, the final syntax for interop and ABI compatibility, linking as a native library, 32-bit and multiple OS support, etc.
I hope that in the summer of autumn of this year we finally focus on Scala 3 Native.
Most helpful comment
Is there any plan on working on porting Scala Native to dotty? If there is, is there anything where help might be needed?
I've been thinking for a couple of weeks on Dotty and Scala Native, and I think that combining the two things can provide a very, very interesting language.
As a practical example: dotty's 'opaque types', 'extension methods' and (maybe) 'hard inlining' could make things like CString in SN as performant as in C but with the correct safety
What do you think?