Tout juste publiée, la dernière version du langage fonctionnel open source F# 9 de Microsoft prend en charge des types de référence annulables et des expressions de calcul vides. La bibliothèque standard a également été améliorée, avec notamment des fonctions d'échantillonnage aléatoire.
Avec l’ajout des types de référence annullables, F# 9 dispose désormais d'un moyen sûr de traiter les types de référence qui peuvent avoir la valeur null comme valeur valide. Même si F# a été conçu pour éviter les valeurs nulles, celles-ci peuvent néanmoins se glisser dans les bibliothèques .NET écrites en C#. F# 9 introduit par ailleurs la prise en charge des expressions de calcul vides. L'écriture d'une expression de calcul vide entraînera un appel à la méthode Zero du constructeur de l'expression de calcul. « Cette syntaxe est plus naturelle que celle du constructeur { () } disponible précédemment », a expliqué Microsoft.
Dans la bibliothèque standard FSharp.Core de F# 9, les modules List, Array et Seq disposent d’autres fonctions d'échantillonnage aléatoire et de mélange, ce qui facilite l'utilisation de F# pour la science des données, l'apprentissage machine et d'autres scénarios où l'aléatoire est nécessaire. Comme dans la bibliothèque standard, les fonctions Shuffle renvoient une autre collection de même type et de même taille, chaque élément étant placé dans une position aléatoirement mélangée. Autre amélioration de la bibliothèque standard : les développeurs peuvent désormais utiliser des expressions de collection C# pour initialiser des listes et des ensembles F# à partir de C#.
D’autres fonctionnalités et optimisations
F# apporte également des optimisations en termes de performances. Les vérifications d'égalité sont dorénavant plus rapides et allouent moins de mémoire, et le compilateur génère à présent un code optimisé pour un plus grand nombre d'expressions start..finish et start..step..finish
Autres fonctionnalités et améliorations de F# 9 :
- Les directives de hachage peuvent désormais prendre des arguments autres que string. Auparavant, les directives de hachage du compilateur n'autorisaient que les arguments de type string passés entre guillemets.
- La directive #help de F# Interactive affiche à présent la documentation d'un objet donné ou d'une fonction donnée, qui peut maintenant être passée sans guillemets.
- F# 9 peut dorénavant afficher des messages de diagnostic nouveaux ou améliorés ou des emplacements de diagnostic plus précis, par exemple les unions avec champs dupliqués et l’inadéquation du nombre d'arguments d'un motif actif.
- Pour s'aligner sur un modèle dans certaines bibliothèques .NET, où les méthodes d'extension sont définies avec les mêmes noms que les propriétés intrinsèques d'un type, F# résout à présent ces méthodes d'extension au lieu d'échouer à la vérification du type.
F# 9 a été publié en même temps que la plateforme logicielle .NET 9, le 12 novembre. Des instructions pour commencer à utiliser F# sont disponibles sur dotnet.microsoft.com.
Commentaire