F# is a powerful open-source language which Microsoft, other companies and the F# community all contribute to. In this talk, Don will discuss how the “F# space” has recently opened up significantly in interesting ways. F# now includes contributions that range from Cloud IDE platforms, Cloud Compute frameworks, Data interoperability components, Cross-platform execution, Try F#, MonoDevelop, and even Emacs editor integration with surprising tooling support, as well as the Visual F# tools from Microsoft and the broader NuGet package ecosystem. Don will also talk about some of the latest contributions from Microsoft Research, including new type provider components for F#, and describe how his team work with the Visual F# team and other teams around Microsoft. There will also be demos of some fun new stuff that’s been going on with F# at MSR and the community.
7. Overview
F# is changing…
– …in subtle but important ways
“F# is
one language
with many
tools”
“F# is part of
Visual Studio”
8. Overview
F# is changing…
– …in subtle but important ways
Many
perspectives
http://fsharp.org
One perspective
(Microsoft’s)
http://msdn.microsoft.com
10. F# Language
Visual F# Tools
Visual Studio, .
.NET, SDKs, Tools
fssnip.net
tryfs.org
fsharpforfunandprofit.com
tryfs.org
Xamarin Studio
fpish.net
F# Open Source
Group
F# Community
Groups
tryfsharp.org
F# Software
Foundation
…
New think…
47. Alea.cuBase
Complete solution to develop CUDA
accelerated GPU applications in .NET
– Based on LLVM and CUDA 5 technology
– Uses F# code quotation
– Source code solution
– No wrappers, no post build process to
transform IL code
– Our base technology for GPU projects
Dynamic code
generation
GPU algorithm
scripting
Industry grade
performance
Rapid
development
Solid framework
for reusability
Advanced CUDA
programming
48. Tour: Math and Statistics
Packages
See http://fsharp.org
Search on nuget for statistics
Math.NET, ExtremeOptimization, F# for Numerics,
FCore, NMath, …
50. Part I: Summary
F# is open source, cross-platform with many
contributors
– The core compiler and library are done at Microsoft
using a “code drop” model
– The fsharp.org community are OK with that
The F# Exosystem is big, rich, active and multi-
faceted
68. Update: RProvider
BlueMountain Capital
Open source, commercially sponsored community provider for
interop with R
– discovers installed R packages
– Access > 2,000 R packages
– projects them as .NET namespaces
– underneath the parent namespace RProvider
r provider f#
72. .NET + F# Compiler +
Library
Library
Open
Library
Open
Library
Open
Library
Library
Future Situation?
“FBase”
73. .NET + F# Compiler + Library
Librar
y
Math.NET
Numerics
FSharp.
Data
FSharp.
Charting
ExtLib v2 Rx …
Librar
y
Future Situation?
“FBase”
Characteristics?
• “Open Source and Free”
• “Multi Platform “
• “Approved by FSF Working Group(s)”
• “Just a Combination”
• “Elements Designed for Coherence”
• “One Combined Nuget Package”
• “Stable/Beta/Alpha Channels”
• “Clear License(s)”
• “No Silly Duplication of .NET/Mono”
74. To discuss:
Is this the right way forward?
If so, could you be involved?
How would we make this happen?
What other design principles?
Can you contribute to components today?