4 ms·
As a former Scala fan, wow you aren't kidding, wth val month = i match case 1 => "January" case 2 => "February" // more months he
by gedy 11mo ago
As a former Scala fan, wow you aren't kidding, wth
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 _ => true
- bdangubic 11mo agomadness :)
- a24j 11mo agoCan you eli5 the madness? And how that relates to python/java?
- deleted 11mo ago[deleted]
- jfim 11mo agoIt's been a while since I touched Scala but wasn't that a thing in previous versions, minus the braces not being present?
- weego 11mo agoYes, that's all just as it was, and in places braces were not required / interchangeable so this is more of an optional compiler choice than a real change
- malkia 11mo agoSorry, I'm coming from C++-ish background - can anyone explain what's going on :)
- hocuspocus 11mo agoScala 2's syntax is mostly Java/C-style with a few peculiarities. 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. - [1] https://alexn.org/blog/2025/10/26/scala-3-no-indent/ https://alexn.org/blog/2025/10/26/scala-3-no-indent/
- gedy 11mo agoMy personal take is this would be like JavaScript adopting an optional Coffeescript[1] syntax. It's so different that it seems odd to make it an option vs a new language, etc. [1] https://coffeescript.org/#introduction https://coffeescript.org/#introduction
- still_grokking 11mo agoJust for context, a lot of people in the community think that this syntax change was the best thing that happened to Scala since its inception. 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…