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.

Questa versione di Visual F# contiene la versione 3.0 del linguaggio F#.per informazioni sulle novità, vedere processi.

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 raccolta 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.

Visual F# in Visual Studio 2012 estende il linguaggio F# per supportare la programmazione ricca di informazioni di F#.Questa tecnologia consente di programmare direttamente spazi ricchi di dati e servizi che oggi spesso dominano la programmazione web e d'impresa, come i database, i servizi web, i feed di dati web ed i broker di dati.

La programmazione ricca di informazioni di F# è focalizzata sul codice e può essere utilizzata sia negli script che nei progetti.Consente inoltre di specificare connessioni a database SQL Server e OData direttamente nel codice, fornendo dei tipi forti con supporto IntelliSense.Il meccanismo è estensibile, consentendoti di scrivere o fare riferimento ai nuovi provider per le tecnologie per i dati, i codici e i servizi come SharePoint, web ontologies, Windows Management Instrumentation (WMI), XML e altre fonti di informazione.Tecnicamente, la programmazione ricca di informazioni F# include il meccanismo Provider di tipi F#, Espressioni di query F#e un set di provider del tipo incorporato per database, OData e programmazione del servizio web.

Per ulteriori informazioni, vedere processi.

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 raccolte 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.

Esistono versioni compilate separatamente della libreria di base F# che supportano diverse versioni di .NET Framework.La versione 2.0 supporta .NET Framework 2.0, 3.0 e 3.5 e la versione 4.0 supporta .NET Framework 4 e le versioni successive di .NET Framework.Inoltre, le versioni della libreria di base F# per Silverlight sono disponibili per il download.

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

processi

Vengono fornite informazioni su cosa c'è di nuovo nella release 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 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 di Visual F#

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

Vedere anche

Altre risorse

Visual Studio