Il titolo di questa pagina non è corretto per via delle caratteristiche del software MediaWiki. Il titolo corretto è F#.
Disambiguazione – Se stai cercando la nota Fa diesis nella notazione musicale in uso nei paesi di lingua inglese e tedesca, vedi Scala musicale.
F#
linguaggio di programmazione
AutoreMicrosoft Research, Don Syme
Data di origine2005
Ultima versione10.0 (11 novembre 2025)
UtilizzoGenerico
ParadigmiMulti-Paradigma: Funzionale, Imperativa, Object-Oriented
TipizzazioneStatica, Forte
Estensioni comuni.fs
Influenzato daML, O'Caml, C#, Python, Haskell, Scala, Erlang
Ha influenzatoF*, LiveScript
Implementazione di riferimento
Licenzalicenza Apache
Sito webfsharp.org/

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]

Esempi

modifica

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

Note

modifica
  1. ^ S. Somasegar, F# - A functional Programming Language, su blogs.msdn.com. URL consultato il 18 ottobre 2007.

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

C++

^ (EN) Ivan Cukic, 1.5 Evolution of C++ as a functional programming language, in Functional Programming in C++. ^ (EN) Nicolai M. Josuttis, 1.3. Style

Programmazione funzionale

programmazione funzionale (EN) functional language, su Enciclopedia Britannica, Encyclopædia Britannica, Inc. (EN) Why Functional Programming Matters di John Hughes

Haskell (linguaggio di programmazione)

consultato il 30 gennaio 2016. ^ Report of the Programming Language Haskell A Non-Strict, Purely Functional Language, Version 1.0, su haskell.org, 1990. ^ Haskell

Programmazione generica

Willcock, An extended comparative study of language support for generic programming, in Journal of Functional Programming, vol. 17, n. 2, Cambridge University

Corrado Böhm

Term Algebras, Theoretical Computer Science, 39: 135-154, 1985. Functional Programming and Combinatory algebras, MFCS, Carlsbad, Czecoslovakia, eds M.P

Linguistica

(2nd ed.), Berlin, Language Science Press, 2016, ISBN 978-1-537504-95-7. ^ Halliday & Matthiessen, An Introduction to Functional Grammar (3rd ed.) (PDF)

Racket (linguaggio di programmazione)

Functional Programming, 2009. ^ R. B. Findler e M. Flatt, Slideshow: Functional Presentations, in International Conference on Functional Programming,

Teoria dei linguaggi di programmazione

of Programming Languages (POPL), la Conference on Programming Language Design and Implementation (PLDI), la International Conference on Functional Programming