addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartexportfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

About Active Patterns and Type Providers

Hi all,

at this meetup, I am going to present active patterns and the new type providers mechanism of F# 3.0. In addition, Henrik will show an example of solving the Zebra Puzzle (also called “Einstein's Riddle”).

Active patterns were introduced with F# [masked] in July, 2007, and have become a very popular language feature. They support pattern matching over arbitrary heterogeneous data, such as XML or object models from other .NET languages. Among other things, they are often used for parsing. F# is the first language to support active patterns as a built-in language feature. (Something similar exists for OCaml, but only as a a custom preprocessor macro.)

Type providers will be officially introduced with F# 3.0 and Visual Studio 2012 on September 12, 2012. They allow typed access of untyped data sources, supporting autocompletion in the editor. The F# 3.0 core library contains ready-made providers for SQL data sources, OData services, web services, and more. Just two days ago, BlueMountain Capital Management LLC announced an open source type provider for accessing statistical packages from R in F#. Type providers, combined with the already-excellent support for asynchronous and parallel processing, make F# 3.0 an optimal language for dealing with big data. As has been the case in the past, the C# team is watching with interest as F# enters new territory. 

The Zebra Puzzle is attributed to Einstein. He asserted that only 2 % of the population would be able to solve the puzzle. Henrik will show how it can be done succinctly in F#.

You can download the schedule of the meeting here, including a map of the location. Henrik and I are looking forward to seeing you soon. Until then, enjoy the summer. 


P. S. Please do not forget to confirm your attendance on If you come for the first time, take a printout of the map with you, to make sure you find the address, as it is not shown accurately in Google maps or Bing maps.


Join or login to comment.

  • Stephan M.

    once again I learnt new stuff: Looking forward for the next talk :-)

    September 18, 2012

  • Matthew O.

    Hi, total F# noob so looking forward to picking up some wisdom. I do speak a bit of Deutsch too, but let's see how technical it gets :)

    August 4, 2012

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy