esoteric wrote:
Meh? Javascript is a fun language with higher-order functions, closures and all, but it ain't got LINQ and it ain't got a query system built in. You can build anything on anything, but that's not the same as it "has" it, that's kind of the point here with Volta and LINQ....

And LINQ is not the enabler for functional programming, rather I'd say it is itself enabled by other functional constructs that have been introduced into C# 3.0. Of course it comes with a very nice syntax.

Let's be more precise.  We're talking about LINQ to Objects here, not LINQ.

I see LINQ to Objects as an application of the functional programming constructs added to C# 3 and VB 9, constructs which JavaScript already had.  LINQ to Objects' power and expressiveness come from those constructs, not from LINQ to Objects' application of them.  I like the new syntax, too, but the inconsistency of the syntax between C# and VB is a little annoying.

The implementations of most of the Enumerable extension methods are fairly straightforward.

Query is important, and LINQ to Objects is great. I love it! But, as we'll see with PLINQ and the TPL, the functional programming constructs that enabled LINQ to Objects are capable of much more than that.

I don't see how Volta is relevant to your point.