Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Discussion: F# 1.9.6.16 publié

  1. #1
    LLB
    LLB est déconnecté
    Membre Expert
    Inscrit en
    mars 2002
    Messages
    962
    Détails du profil
    Informations forums :
    Inscription : mars 2002
    Messages : 962
    Points : 1 263
    Points
    1 263

    Par défaut F# 1.9.6.16 publié

    C'est enfin sorti !

    Visual Studio 2010 Beta1 vient d'être publié et il inclut la toute dernière version de F#. Parmi les 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
    • Des optimisations un peu partout
    • Voir les notes détaillées


    :)

  2. #2
    alex_pi
    Invité(e)

    Par défaut

    Citation Envoyé par LLB Voir le message
    Parmi les nouveautés :

    • ...
    • On peut utiliser les unités de mesure sur les entiers
    • ...
    Ca c'est sexy

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro Nicolas Vallée
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 217
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Vallée
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 217
    Points : 17 565
    Points
    17 565

    Par défaut

    pas cool...
    F# binaries compiled with this new release are incompatible with binaries from previous releases, so must be recompiled. Binary compatibility for F# is an aim of the RTM release of Visual Studio 2010.
    et est-ce que fslex et fsyacc ont enfin été correctement intégrés dans les projets F# sous VS ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #4
    alex_pi
    Invité(e)

    Par défaut

    Citation Envoyé par LLB Voir le message
    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
    Est ce que ça veut dire qu'ils ont complètement abandonné une des idées du début qui était qu'un code OCaml copié collé dans F# compilait sans problème ?

  5. #5
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro Nicolas Vallée
    Ingénieur d'études
    Inscrit en
    décembre 2005
    Messages
    10 217
    Détails du profil
    Informations personnelles :
    Nom : Homme Nicolas Vallée
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : décembre 2005
    Messages : 10 217
    Points : 17 565
    Points
    17 565

    Par défaut

    Citation Envoyé par alex_pi Voir le message
    Est ce que ça veut dire qu'ils ont complètement abandonné une des idées du début qui était qu'un code OCaml copié collé dans F# compilait sans problème ?
    ben ça n'a jamais vraiment marché... sauf sur des exemples très basiques


    déjà ça coinçait quand on utilisait des modules
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  6. #6
    LLB
    LLB est déconnecté
    Membre Expert
    Inscrit en
    mars 2002
    Messages
    962
    Détails du profil
    Informations forums :
    Inscription : mars 2002
    Messages : 962
    Points : 1 263
    Points
    1 263

    Par défaut

    Citation Envoyé par alex_pi Voir le message
    Est ce que ça veut dire qu'ils ont complètement abandonné une des idées du début qui était qu'un code OCaml copié collé dans F# compilait sans problème ?
    Non, c'est toujours d'actualité. Il y a deux objectifs :

    - faire évoluer F# comme langage à part entière. Ce serait dommage que la
    compatibilité avec Caml bloque certaines évolutions et fige certaines
    choses. Au niveau des conventions de nommage, la bibliothèque manquait
    vraiment de cohérence, c'était une sorte de grand-écart entre deux
    mondes. Je suis content du choix, car c'était celui que j'avais proposé.

    - garder une certaine compatibilité avec Caml. La syntaxe de Caml est
    toujours comprise, mais si certaines constructions sont déconseillées
    dans du F# pur (par exemple, le "for .. = .. to"). Il y a aussi une
    bibliothèque de compatibilité où l'on peut retrouver pervasives.ml et
    les autres. Note que le compilateur possède toujours une option
    -mlcompatibility.

    La compatibilité OCaml n'a jamais été parfaite, ça n'a jamais été le but.
    Certaines fonctionnalités ne sont absolument pas prévues (système objet
    Caml, camlp4, foncteurs, arguments optionnels sur les fonctions...). Mais,
    si l'on souhaite faire du code portable, c'est tout à fait possible. C'est
    une contrainte, mais c'est pas la mort : jusqu'à une période récente, le
    compilateur F# pouvait être compilé à la fois par OCaml et F#.

    A priori, la compatibilité OCaml devrait rester en l'état. Je pense pas
    qu'il y aura d'amélioration sensible, mais elle ne sera pas non plus
    détériorée.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •