Is it possible in other statically compiled strongly typed languages? I don't think so?
The advantages/disadvantages of static vs. dynamic languages seem out of scope for the "is scala too complex?" question.
Is it possible in other statically compiled strongly typed languages? I don't think so?
The advantages/disadvantages of static vs. dynamic languages seem out of scope for the "is scala too complex?" question.
This is completely non-extensible and people have to pay the price for this syntactic sugar (e. g. extension methods not discoverable with Reflection).
Other languages have a much cleaner approach: traits (in languages like Scala) and default methods (in Java) both solve the problem in a more straightforward and correct way.
So it doesn't really seem like they solve the problem "how do I add a filterMap function to all arrays or collections that works pretty much how I want it to" any simpler than Scala. All the complexity that the author brings up in his post is because he was trying to add this functionality with a single method (and a bunch of implicits).
But the problem is: put in a string and it gives back a list of characters. So I use the term it is "topologically correct" heh. To be honest I do not think there is anything functional about what he is attempting but perhaps the idioms in Scala are different? My knowledge of scala is mostly horizontal (from Ocaml,F#, haskell).
Sure it is :) see C# http://msdn.microsoft.com/en-us/library/bb383977.aspx