Visual Studio 2010 et .NET 4.0 viennent d'être publiés en version bêta. Cette version est la première à inclure F#, dont la version 1.9.4.16 vient de sortir. Cela donne pas mal de nouveautés.

  • F# peut utiliser .NET 4.0
  • #light (utilisation de l'indentation) est enfin mis par défaut !
  • On peut définir des méthodes variadiques (donc le nombre d'arguments n'est pas fixé - params en C#)
  • On peut utiliser les unités de mesure sur les entiers
  • On peut définir ses propres suffixes sur les types numériques. Par exemple, 123X est du sucre pour NumericLiteralX.FromInt32(123)
  • Beaucoup de nettoyage dans la bibliothèque standard. En particulier, il n'y avait pas de cohénce dans le nommage avant (sumBy, mais fold_left). Maintenant, (presque) tous les underscores ont disparu. A noter que fold_left -> fold et fold_right -> foldBack
  • Pas mal d'ajustements avec .NET 4, de nouvelles fonctions (Array.Parallel.map, Array.Parallel.choose, Array3D, Array4D)
  • Un opérateur ? permettant de faire du duck typing (foo.Length est vérifié statiquement, foo?Length est dynamique)
  • Des optimisations un peu partout
  • Voir les notes détaillées

De plus, le plugin F# de Visual Studio a été grandement amélioré, semble-t-il (je n'ai encore pas essayé). Les outils de débogage sont plus agréables. Il me tarde d'utiliser l'historical debugging, un nouveau mode de débogage permettant de remonter dans le temps. :)