Fixing bugs in the Scala 3 compiler (get involved!)

Dear Scalamaris,

For the next couple of months, I will be working for the Scala Center on general
improvements to the Scala 3 compiler. I’m especially interested in tackling bugs
that have been sitting in our backlog for a long time. You can get a rough idea
of what I’m working on currently at
https://github.com/lampepfl/dotty/pulls?q=is%3Apr+author%3Asmarter+sort%3Aupdated-desc+

I have some specific issues in mind (right now I’m focusing on getting our Java
interoperability support at least up to par with Scala 2), but I will also be
looking at the issues with the largest amount of “:+1:” reactions:

(filtering for my area of expertise, which is everything core to the compiler
except metaprogramming and match types).

Since there’s only one of me, getting more people involved in compiler hacking
is important for long-term sustainability. Therefore, If there’s an issue you care
particularly about, I would be happy to pair-program with you to attempt to come
up with a fix. We’ve done this a couple of time with Dale and Seth already and
streamed ourselves on Twitch to share the knowledge.
More generally, I encourage you to check out the Compiler Academy Youtube channel
set up by the Scala Center at https://www.youtube.com/channel/UCIH0OgqE54-KEvYDg4LRhKQ to learn more about compiler internals and participate in the regular issue sprees.

Cheers,
Guillaume

21 Likes

I want to participate, but I haven’t used 3. I can only see the issue of 2 :sneezing_face:

1 Like

I’d be willing. I’ve missed the latest issue spree, but I’ll join on the next one, and I’d be willing to do pair programming to learn about the compiler more.

2 Likes

Happy to see you again, Guillaume!
What about this issue: Ambiguous overload using JDK 11 · Issue #10715 · lampepfl/dotty · GitHub? I’d like to try it. It’s a java-compat issue too :slight_smile:

1 Like

I wonder what the fix will be: a better error message? a special rule for java overload of nullary method? or overloads of java-defined methods follow java overloading rules?

Sure, maybe we could try to tweak overloading resolution to prefer the nilary method if it comes from Java, hit me up on the Scala Discord and we can set up a time (this week I’m at scala.io, but next week I’ll have some time).

1 Like

Then I hope I will meet you on the 4th :grin:

I am also interested in contributing to the compiler althrough I will probably have more time the next year.

1 Like