F#, il linguaggio funzionale-imperativo Antonio Cisternino Ricercatore Dipartimento di Informatica Università di Pisa Agenda • Il linguaggio F# • Il toolset • Demo –F# bits –F# interactive –VSLab • Applications and performances F# • F# nasce come un port del linguaggio OCaml per .NET • Don Syme lavora su un’estensione all’IL, ILX, per supportare l’interoperabilità tra linguaggi funzionali • Introduce nel mainstream della programmazione concetti studiati per 20 anni nell’accademia Caratteristiche • Type-inference • Stile di programmazione funzionaleimperativo • Influenzato da Haskell • Supporto per la meta-programmazione • Supporto OOP completo e diverso da OCaml • Integrazione completa in .NET • Il patten matching Il toolset • Integrazione in Visual Studio completa di IntelliSense • Type inference integrata nell’editor • Debugger .NET • F# Interactive!!! • Esecuzione da command line • Supporto per Mono Demo F#, il linguaggio funzionaleimperativo Applicazioni • Unmutable state -> concorrenza • Facilità di esprimere formule matematiche -> Scientific Computing • Interattività -> Scripting e system management F# on mono More information Conclusioni Per la prima volta dai tempi di Java ho guardato un linguaggio ed ho realizzato che era un salto, che non avrei più programmato volentieri in linguaggi usati fino ad allora e che mi sembravano molto espressivi. F# è l’anello mancante tra i linguaggi compilati e quelli dinamici. Antonio CIsternino