F# (pronuncia: [ˈef ˈʃɑ:p], come la parola inglese F Sharp) è un linguaggio di programmazione multi-paradigma, basato su .NET Framework, che permette la programmazione funzionale così come quella imperativa e quella ad oggetti. È una variante del linguaggio ML ed è largamente compatibile con l'implementazione di OCaml. F# è stato sviluppato inizialmente da Don Syme al Microsoft Research ed attualmente è implementato dalla divisione sviluppo di Microsoft per fornire un completo supporto del .NET Framework ed essere pienamente supportato in Visual Studio.[1]
![]() |
Questa voce sull'argomento software è solo un abbozzo.
Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento.
|
F# linguaggio di programmazione | |
---|---|
![]() | |
Autore | Microsoft Research, Don Syme |
Data di origine | 2005(versione 1.0) |
Ultima versione | 4.1b (8 dicembre 2017) |
Utilizzo | Generico |
Paradigmi | Multi-Paradigma: Funzionale, Imperativa, Object-Oriented |
Tipizzazione | Statica, Forte |
Estensioni comuni | .fs |
Influenzato da | ML, O'Caml, C#, Python, Haskell, Scala, Erlang |
Ha influenzato | F*, LiveScript |
Implementazione di riferimento | |
Licenza | licenza Apache |
Sito web | fsharp.org/ |
Modifica dati su Wikidata · Manuale |
Segue un piccolo esempio del classico Hello world:
(* Questo è un commento *)
printf "Hello World!"
Altri esempi:
(* funzione che stampa gli elementi di una lista di Integer *)
let printlist xs = xs |> List.iter (fun x -> printfn "%d\n" x)
(* funzione ricorsiva che calcola l'n-simo numero di Fibonacci *)
let rec fib = function
| 0 | 1 -> 1
| n -> fib (n - 1) + fib (n - 2)
(* Stampa i primi 10 numeri di Fibonacci *)
[1 .. 10] |> List.map fib |> printlist
(* Stampa i primi 10 numeri di Fibonacci *)
[ for i in 1..10 do yield fib i ] |> printlist
![]() |