I've been waiting since 1958 for a functional language to be integrated with a mainstream platform library.
Now there's F#. The good news is that it treats functions as first class objects, is extremely expressive and powerful, and executes about half as fast as compiled C.
The neutral news is that F# has strong type checking. The bad news is that the rules for type checking haven't yet been fully resolved. My guess is they will be resolved soon.
What are the best F# resources besides microsoft's F# developer homepage?
Community source code, books, and tutorials are ideal.
Things for *nix or LGP advocates to consider:
Unlike C#, F# has not yet been turned into an ISO standard. Microsoft can not impose pecuniary patent fees for using C# and certain libraries. There are no such restrictions on their use of F#.
Personally I consider this an academic concern because Sun won't give people binaries to be compatible with previous versions of Java without a price. So far, Microsoft charges only for Visual Studio and .Net-related resources, and not historically for programming-related resources. C#1 and C#2 will still compile, on their platform. But I'm sure people have reasons to mistrust Microsoft more than Linux or Unix, so feel free to correct me if I'm missing something.
ML, OCaml, and F# all exist in various forms on other platforms including Unix as well.
If strongly-typed object-oriented programming completely fulfills your needs, there is little reason to experiment with f#.
On the other hand, if you want shorter software, software which is more descriptive and declarative, software which can use the full spectrum of functional programming (of which object-oriented programming is but one example), or if you need to perform symbolic manipulation including parsing, theorom proving, symbolic mathematics, asynchronous execution, or parallel processing, F# may be your only choice on the .Net35 and .Net4 platforms.
Some of the ideas in F# have been migrated into C#3 and C#4, including lazy lists, anonymous types, anonymous methods, lambdas, and so on.