Premiers pas avec F#

Bonjour le monde!

Ceci est le code d’un projet de console simple, qui affiche “Hello, World!” à STDOUT, et quitte avec un code de sortie de 0

[<EntryPoint>]
let main argv = 
    printfn "Hello, World!"
    0 

Exemple de répartition ligne par ligne :

  • [<EntryPoint>] - Un [.net Attribute][1] qui marque “la méthode que vous utilisez pour définir le point d’entrée” de votre programme ([source][2]).
  • let main argv - définit une fonction appelée main avec un seul paramètre argv. Comme il s’agit du point d’entrée du programme, argv sera un tableau de chaînes. Le contenu du tableau sont les arguments qui ont été passés au programme lors de son exécution.
  • printfn "Hello, World!" - la fonction [printfn][3] affiche la chaîne** passée comme premier argument, en ajoutant également une nouvelle ligne.
  • 0 - Les fonctions F# renvoient toujours une valeur et la valeur renvoyée est le résultat de la dernière expression de la fonction. Mettre ‘0’ comme dernière ligne signifie que la fonction renverra toujours zéro (un entier).

** Ceci n’est en fait pas une chaîne même si elle en a l’air. Il s’agit en fait d’un [TextWriterFormat][4], qui permet éventuellement l’utilisation d’arguments vérifiés de manière statique. Mais dans le cadre d’un exemple “hello world”, il peut être considéré comme une chaîne.

[1] : http://stackoverflow.com/q/20346/4289902 [2] : https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/entry-point-%5Bfsharp%5D [3] : https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/printf.printfn%5B’t%5D-function-%5Bfsharp%5D [4] : https://msdn.microsoft.com/visualfsharpdocs/conceptual/printf.textwriterformat%5B%27t%5D-type-abbreviation-%5Bfsharp%5D

Installation ou configuration

Les fenêtres

Si vous avez installé Visual Studio (toute version, y compris express et communautaire), F # doit déjà être inclus. Choisissez simplement F # comme langue lorsque vous créez un nouveau projet. Ou consultez http://fsharp.org/use/windows/ pour plus d’options.

# OS X

Xamarin Studio prend en charge F#. Vous pouvez également utiliser [VS Code for OS X][1], qui est un éditeur multiplateforme de Microsoft. Une fois l’installation de VS Code terminée, lancez VS Code Quick Open (Ctrl+P) puis exécutez ext install Ionide-fsharp

Vous pouvez également envisager Visual Studio pour Mac.

Il existe d’autres alternatives [décrites ici][2].

#Linux

Installez les packages mono-complete et fsharp via le gestionnaire de packages de votre distribution (Apt, Yum, etc.). Pour une bonne expérience d’édition, utilisez soit Visual Studio Code et installez le plugin ionide-fsharp, ou utilisez Atom et installez le plugin ionide-installer. Voir http://fsharp.org/use/linux/ pour plus d’options.

[1] : https://code.visualstudio.com/Docs/?dv=osx [2] : http://fsharp.org/use/mac/

F# Interactif

F# Interactive est un environnement REPL qui vous permet d’exécuter du code F#, une ligne à la fois.

Si vous avez installé Visual Studio avec F#, vous pouvez exécuter F# Interactive dans la console en tapant "C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\Fsi.exe". Sous Linux ou OS X, la commande est fsharpi à la place, qui devrait être soit dans /usr/bin soit dans /usr/local/bin selon la façon dont vous avez installé F# – de toute façon, la commande devrait être sur votre PATH afin que vous puissiez simplement taper fsharpi.

Exemple d’utilisation interactive de F# :

> let i = 1 // fsi prompt, declare i
- let j = 2 // declare j
- i+j // compose expression
- ;; // execute commands

val i : int = 1 // fsi output started, this gives the value of i
val j : int = 2 // the value of j
val it : int = 3 // computed expression

> #quit;; //quit fsi

Utilisez #help;; pour obtenir de l’aide

Veuillez noter l’utilisation de ;; pour indiquer au REPL d’exécuter toutes les commandes précédemment saisies.