This isn't a language difference, it's a coding style difference. There's nothing to stop you writing it in java as<p><pre><code> public int[] seriesUp(int n) {
return range(1, n).concatMap( x -> range(1, x));
}
</code></pre>
(assuming a suitable range function and concatMap method, which is a library question rather than a language issue)<p>Java won't allow the special [1..n] syntax, and method application is a lot more explicit, with a more rigid argument order than Haskell. But to my mind both these differences are places where Java is the more consistent, readable, and yes, beautiful language.