Oh yeah, definitely looking forward to 2.12. Don't get me wrong Scala is still
good, just not
great. (Hence the scare quotes around "trapped")
> - Better type inference at the place were it was sorely needed landed in 2.12 (use -Ypartial-unification to enable) or use it on 2.11 with a compiler plugin.
I was actually thinking of things like local definitions not needing type signatures. It's really easy to underestimate how much more fluent this makes the language feel. (Think of functions defined in 'where' clauses and things like that. Entirely subjective, but there's this feeling of fluency when you don't need any type signatures for non-top-level things.)
I don't think Scala is ever going to move away from requiring all functions to have an explicit type signature.
> - Even if you are not a fan of OO (I'm not), I still love that I get a great module system for free. Haskell's module system is a completely mess.
Not so much "mess", I think... more completely underpowered? It's really just a namespacing mechanism.
Hopefully we'll get Backpack at some point...
> - Scala-Native already supports all kinds of TCO, including mutually recursive ones.
Really? This is surprising to me, but perhaps they've gone with the Pascal(?) calling convention so as to make it trivially supportable?
It's still sad it can't be relied upon per language spec. :/