http://research.microsoft.com/fsharp/fsharp.aspx