//build – F# 3.0 for Information Rich Programming

Don Syme presented a session on F# 3.0, which can be viewed here.

In the context of typical n-tier architectures, the focus of F# 3.0 compared to 2.0 and other languages is:

  • Presentation, publication, experience – C#, VB, HTML5, Javascript
  • Transformations, analysis, algorithms, parallel – Core F# 2.0 scenarios
  • Data Services, Information Access – focus for F# 3.0

So the big focus for 3.0 is to provide support for information rich programming, or to put it another way, provide language support to support large data sets.

  • Statically typed languages generally degrade as the variation in data types grows large
  • e.g. strongly typed class library for all the chemical elements vs strongly typed class library for every entity in Wikipedia, update in real time as new types are added
  • F# 3.0 introduces Type Providers – which are compiler/IDE plug-in, provides library on demand, gives intelisense for information spaces
    • Type providers appear to use code generation behind the scenes
  • Since Type providers are plug-ins you can write your own

Additionally, 3.0 adds support for

  • LINQ queries added
  • Improved intellisense
  • auto-properties (similarly to C# and VB)
  • Standard SI units of measure provided in F# core library
  • Leverages many .NET and VS improvements

I can see the new type provider functionality being particularly powerful for exploratory data mining of large data sets. Also, for rapidly developing the data access layer for regular .NET apps since F# libraries can of course be referenced from any .NET app.


~ by kevinsmi on September 16, 2011.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: