Just finished reading Introduction to Functional Programming by Bird & Wadler:

 

Introduction to Functional Programming (2nd Edition)

 

It was particularly interesting since a significant portion of LINQ came from the Functional Programming would.  I would recommend anyone who wants a deep understanding of Linq and the new C#/ VB compiler features to read this book.  The really scary thing is that the book was first published in 1988.  So I guess LINQ was really invented twenty years ago.   Brian Beckman told me it was actually cleaned up in the 1980's, but invented in the 1920's as Lambda calculus and refined in the 1950's for computers.

I actually read the first version of the book that did not use Haskell but a pseudo language for samples and expressing concepts.  I now am motivated to learn Haskell, and will be starting in on The Haskell School of Expression by Paul Hudak this weekend:

 

The Haskell School of Expression: Learning Functional Programming through Multimedia

 

Learning Haskell should be interesting.  If anyone knows of a Windows command line interpreter for it, please drop me a note.