Tomasz Godzik @ VirtusLab
team lead for Scala Ecosystem Team
It's not always clear what is the border between tools and libraries.
For this presentation, a tool is anything that will not be shipped with your code
I am not covering testing frameworks.
no.
Why you might want to use it?
Maintained | Is there anything going on in the repo? |
Health | Are there any blocking issues? |
Scala 2/3 | Is Scala 2 or 3 supported |
Contributing | Should I contribute? |
New features | Are there any new features to talk about? |
no.
no.
⚙️ Features if there is anything worth mentioning
14 257
You need to compile Scala 2 code.
Maintained | Active development |
Health | Yes |
Contributing | Guide + many helpful devs |
New features | Yes, but minimal |
14 257
14 257
⚙️ Actionable diagnostics for some of the warnings and errors
⚙️ Improved migration under -Xsource3
⚙️ Smaller features and fixes
5566
You need to compile Scala 3 code.
Maintained | Active development |
Health | Any breaking bugs fixed quickly |
Contributing | Guide + many helpful devs |
New features | Some would say too many |
5566
5566
⚙️ Actionable diagnostics for exhaustive checks
⚙️ Built-in scoverage and semanticdb support
⚙️ Stable presentation compiler
⚙️ New linting
⚙️ Error codes
2010
2010
Maintained | Active development |
Health | Some stability issues |
Scala 2/3 support | Both |
Contributing | Guide and many helpful devs |
New features | Yes |
2010
⚙️ Bazel support released
⚙️ Feature parity between Scala 2 and 3 released
⚙️ Implementations in dependencies coming
⚙️ Inlay hints coming
⚙️ Work being done on opt in telemetry in progress
1997
1997
Maintained | Lacking maintainers |
Health | No major issues, plenty smaller ones |
Scala 2/3 support | Both |
Contributing | Guide |
New features | No |
1563
1563
Maintained | Lacking maintainers |
Health | Hard to guage |
Scala 2/3 support | Both |
Contributing | Minimal guide |
New features | No |
1395
1395
Maintained | Active development |
Health | No issues |
Scala 2/3 support | Both |
Contributing | Guide and some helpful devs |
New features | Yes |
1395
⚙️ optional and fewer braces support
⚙️ numerous bug fixes
⚙️ new settings introduced when necessary
⚙️ up to date with Scala 3 changes
1118
1118
Maintained | Mostly maintenance |
Health | No major issues |
Scala 2/3 support | Both |
Contributing | Guide + some helpful devs |
New features | No |
1118
⚙️ Scala CLI support
⚙️ Public instance run by VirtusLab
⚙️ Can be run on github actions
1086
1086
Maintained | Active development |
Health | Smaller issues |
Scala 2/3 support | Both |
Contributing | Guide and some helpful devs |
New features | Yes |
1086
⚙️ Most work involves keeping up to date with Scala syntax changes
⚙️ Not yet compiled with Scala 3 soon
1064
1064
Maintained | Maintenance |
Health | No major |
Scala 2/3 support | Both |
Contributing | Guide and gitter channel |
New features | No |
1064
Caveat: Doesn't currently work in Bloop
796
796
Maintained | Maintenance |
Health | No major issues |
Scala 2/3 support | Both |
Contributing | Dev guide and helpful dev |
New features | No |
796
Caveat: ExplicitResultTypes don't work for Scala 3
488
488
Maintained | Maintenance |
Health | Nothing major |
Scala 2/3 support | Both |
Contributing | Dev guide and helpful devs |
New features | Yes, but only minor |
423
423
Maintained | Active development |
Health | Some infra issues |
Scala 2/3 support | Both |
Contributing | Dev guide and helpful dev |
New features | Yes |
423
⚙️ Built-in Metals support for hover and completions
⚙️ Tree sitter syntax highlighting
⚙️ Scala CLI support coming soon
384
384
Maintained | Maintenance |
Health | No major issues |
Scala 2/3 support | Both |
Contributing | Guide and some helpful devs |
New features | No |
80
80
Maintained | Active dev |
Health | No major issues |
Scala 2/3 support | Both |
Contributing | Not needed |
New features | Yes |
54
54
Maintained | Active dev |
Health | Try out an report! |
Scala 2/3 support | Both |
Contributing | Dev guide and helpful dev |
New features | Yes |
54
⚙️ Hot code reload
⚙️ Faster evaluation of simple expressions
⚙️ Pretty stack traces
x
But, if you want to help or start helping.
We can come try and organize sprees together.
That can be a great way to share knowledge and start to work on the issues that bug you.
We cannot always easily see what is going wrong.
Adding self diagnostics and reporting mechanisms, which can than be forwarded to us automatically or manually.
Already done in Scastie, soon in Metals opt in.
It's easier to know what is going on if the error message is clear
Maybe we can fix it automatically?