Visual F#

F# è un linguaggio di programmazione che fornisce supporto per la programmazione funzionale e per la programmazione tradizionale imperativa (procedurale) e orientata agli oggetti. Il prodotto Visual F# offre supporto per lo sviluppo di applicazioni F# e l'estensione di altre applicazioni .NET Framework tramite codice F#. F# è un importante membro dei linguaggi .NET Framework e presenta una spiccata somiglianza con la famiglia ML di linguaggi funzionali.

Linguaggio multiparadigma

F# supporta i costrutti di programmazione funzionale, ad esempio:

  • Funzioni come valori, che consentono una modifica flessibile delle funzioni. Per ulteriori informazioni, vedere Funzioni come valori di prima classe (F#).

  • Composizione di funzioni e pipelining, per consentire il concatenamento di funzioni al fine di crearne nuove e semplificare la codifica di operazioni consecutive sui dati. Per ulteriori informazioni, vedere Funzioni (F#).

  • Inferenza del tipo, che riduce la necessità di chiamare in modo esplicito i tipi senza sacrificare l'indipendenza dai tipi.

  • Generalizzazione automatica, che promuove il riutilizzo del codice rendendo più semplice la scrittura di codice compatibile con diversi tipi senza alcuno sforzo aggiuntivo.

  • Supporto per ricerca di corrispondenza, che semplifica il codice condizionale complesso generato, e unioni discriminate ottimizzate per l'utilizzo con ricerche di corrispondenza.

  • Tipi di insieme per l'utilizzo di dati non modificabili, tra cui tipi di elenchi e sequenze.

  • Espressioni lambda, fondamentali per numerosi costrutti di programmazione funzionale.

  • Applicazione parziale degli argomenti delle funzioni, che consente la creazione implicita di nuove funzioni dalle funzioni esistenti. Per ulteriori informazioni, vedere Funzioni (F#).

  • Quotation di codice, una funzionalità che consente di modificare le espressioni F# a livello di codice.

F# supporta la programmazione orientata agli oggetti e le funzionalità .NET Framework, tra cui:

  • Modello a oggetti di .NET Framework, inclusi gli oggetti che dispongono di proprietà, metodi ed eventi; polimorfismo o funzioni virtuali, ereditarietà e interfacce.

  • Incapsulamento dei dati o separazione dell'interfaccia pubblica di un tipo dall'implementazione.

  • Overload degli operatori, perfettamente compatibile con tipi primitivi incorporati e generics.

  • Estensioni dei tipi, che consentono di estendere agevolmente un tipo esistente senza il sovraccarico aggiuntivo necessario per creare un nuovo tipo derivato.

  • Espressioni di oggetto, che consentono di definire in modo implicito oggetti di piccole dimensioni nelle espressioni in base alle necessità, anziché dichiarare un nuovo tipo e creare un'istanza di un oggetto.

  • Accesso a .NET Framework e a qualsiasi assembly di codice gestito.

  • Accesso al codice nativo mediante platform invoke.

F# supporta inoltre tutti i costrutti di programmazione imperativi comuni, ad esempio costrutti di ciclo e di creazione di rami.

Librerie F#

Il prodotto Visual F# include inoltre una libreria F# con diversi tipi e funzioni utili, tra cui interfacce API per insiemi quali elenchi, matrici, mappe, set e sequenze. La libreria F# supporta inoltre reflection, eventi e I/O formattato.

Include inoltre il supporto per i flussi di lavoro asincroni per consentire i calcoli paralleli, nonché i meccanismi di comunicazione tra flussi di lavoro paralleli. Per ulteriori informazioni, vedere Flussi di lavoro asincroni (F#), Classe Control.Async (F#) e Classe Control.MailboxProcessor<'Msg> (F#).

La libreria F# principale è FSharp.Core.dll. In F# PowerPack, disponibile sul sito Web relativo al centro per sviluppatori Microsoft F#, sono presenti ulteriori librerie.

Scripting interattivo

Visual F# fornisce una finestra interattiva integrata nell'ambiente di sviluppo di Visual Studio. Questa finestra consente di immettere codice F#, che verrà immediatamente compilato ed eseguito. In questo modo sarà possibile creare agevolmente prototipi di costrutti di codice e testare il codice in fase di scrittura. La finestra interattiva esegue lo strumento interattivo di F#, fsi.exe, che è possibile eseguire anche dalla riga di comando. Questa funzionalità consente l'utilizzo di F# come linguaggio di script. Per ulteriori informazioni, vedere Riferimenti per F# Interactive (fsi.exe).

Integrazione con Visual Studio

F# è integrato con Visual Studio e offre supporto per gli elementi seguenti:

Argomenti correlati

Titolo

Descrizione

introduzione a F#

Vengono fornite informazioni introduttive sulla versione corrente di Visual F#.

Portale di sviluppo Visual F#

Punto di partenza per un'ampia gamma di informazioni su F#.

Utilizzo di Visual Studio per la scrittura di programmi F#

Vengono fornite informazioni sull'utilizzo di F# in IDE (Integrated Development Environment), tra cui le impostazioni del progetto e IntelliSense.

Riferimenti per il linguaggio F#

Vengono fornite informazioni di riferimento sul linguaggio F#, tra cui informazioni su parole chiave, simboli e operatori.

Riferimento alla libreria di base Visual F#

Vengono fornite informazioni di riferimento sulla libreria di base F#, FSharp.Core.dll.

Riferimenti per il compilatore F# (fsc.exe)

Vengono fornite informazioni sul compilatore F#, fsc.exe, incluse informazioni sulle opzioni del compilatore.

Riferimenti per F# Interactive (fsi.exe)

Vengono fornite informazioni su F# Interactive, fsi.exe, tra cui informazioni sulle opzioni da riga di comando e sui messaggi di diagnostica specifici di F# Interactive.

Esempi e procedure dettagliate (F#)

Vengono forniti collegamenti a procedure dettagliate ed esempi relativi a F#.

Vedere anche

Altre risorse

Visual Studio