Can someone explain in english terms what is going on specifically in here? I know what it does, as in, what the result is, but the particular semantics of it (I guess) are escaping me.
Func<int, Func<int, int>> MakeAdder = x => y => x + y;
Func<int, int> AddTen = MakeAdder(10);
Console.WriteLine(AddTen(20));
It's C#, it's a delegate, lambda expressions, blah blah blah
Func<int, Func<int, int>> is a function that accepts an int and returns Func<int,int>, which would be a function that accepts an int and returns an int.
What I'm sort of going screwy with is what follows... = x => y => x + y, and then the line that follows that. Actually, I guess I'm screwy on the whole thing.