If anything is slowly down Scala 3 is that, including the tooling ecosystem that needs to be updated to deal with it.
If anything is slowly down Scala 3 is that, including the tooling ecosystem that needs to be updated to deal with it.
val month = i match
case 1 => "January"
case 2 => "February"
// more months here ...
case 11 => "November"
case 12 => "December"
case _ => "Invalid month" // the default, catch-all
// used for a side effect:
i match
case 1 | 3 | 5 | 7 | 9 => println("odd")
case 2 | 4 | 6 | 8 | 10 => println("even")
// a function written with 'match':
def isTrueInPerl(a: Matchable): Boolean = a match
case false | 0 | "" => false
case _ => trueNothing to do with Haskell, even if it is also white space significant.
Scala 3's optionally allows indentation based, brace-less syntax. Much closer to the ML family or Python, depending on how you look at it. It does indeed look better, but brings its share of issues.[1] Worse, a lot of people in the community, whether they like it or not, think this was an unnecessary distraction on top of the challenges for the entire ecosystem (libraries, tooling, ...) after Scala 3.0 was released.
The most reliable Scala IDE is currently Metals (in VSCode, but other editors work, too). Metals uses directly the compiler for all code intelligence so it's as reliable as the compiler itself.
Also the silent majority thinks that the people who still lament over that change are just a very vocal minority.
Almost all Scala 3 code uses the new syntax, no matter how loud a few people cry. Similar situation to systemd on Linux…
For Scala 2, yes, or there was the last I looked. Still the best Scala development experience by some margin, sadly.
> Metals uses directly the compiler for all code intelligence so it's as reliable as the compiler itself.
Not my experience; maybe it theoretically should be but the integration/bridging piece is still flaky.