An Introduction to Microsoft F#

Play An Introduction to Microsoft F#
Sign in to queue


Learn about Microsoft's new language, F#, a typed functional programming language for the Microsoft .NET Framework. F# combines functional programming with the runtime support, libraries, tools, and object model of .NET. Understand how F# asynchronous workflows help tame the complexity of parallel and asynchronous I/O programming and how to use F# in conjunction with tools such as Parallel Extensions for .NET.
  • Luca Bolognese



Right click to download this episode

The Discussion

  • User profile image
    This is really really cool, exactly what I've wanted to see in regards to F#.. I've seen so many little examples that really didn't help me envisage using this every day..

    let the |> fun commence

  • User profile image
    Wow - this the best show I've seen here so far - it even outperforms "don't fear the monads" Smiley
    Hope to see more of this stuff around.

    Thanks for the fun !
  • User profile image
    Art Scott

  • User profile image
    Yea, I really enjoyed this presentation . One of best. It gives nice tasting of F#. I recommend this. 
  • User profile image
    regarding the pipeline (|>) operator example: couldn't one just write Seq.sum(,sqr) and get done with it?
  • User profile image

    |> is like . (dot) in C# - especially when talking about extension methods.

  • User profile image
    Thank you so much.  So much F# in so little time.  I've already had some fun with this language, and your presentation helps me to understand how to solve some practical business problems (like I do with C# and VB.NET, presently).

  • User profile image

    Great Presentation!
    I am watchin git for the second time and coding along through the demo. However,  I am getting an error in the StockAnalyzer type... 

    type StockAnalyzer (lprices, days) =

    let prices =
            |> snd
            |> Seq.take days
    static member GetAnalyzers (tickers,days) = 
        |> loadPrices
        |> (fun prices -> new StockAnalyzer (prices, days))
    member s.Return = 
        let lastPrice = prices |> Seq.nth 0
        let startPrice = prices |> Seq.nth (days - 1)    
        lastPrice / startPrice -1.

    ... the last line is not working ... getting "This value is not a function and cannot be applied" error when mouseover startPrice variable. Any advice for f# newbie? I am running the version of f# with VS  integrated shell.

  • User profile image
    Isn't something like this more succinct but just as expressive without losing the declarative nature?


    let sumOfSquares nums = sum (each nums sqr)

    sumOfSquares [0,2,5,8]
  • User profile image
    Very great presentation. Thanks Luca. Smiley

    The async stuff didn't work for me. In fact, neither AsyncGetResponse nor AsyncReadToEnd exist in my version (.Net 3.5 under MSVS2008). The Plot function of Graphics is also not available. Seems to me like a special library is needed...
  • User profile image
    Really good presentation. Looking forward for more of F#.
  • User profile image
    elvistcb: yes there is:
    (define (sum-of-squares nums) (fold-left + (map sqr nums)))
    (sum-of-squares '(0 2 5 8))
  • User profile image
    This is the best presentation I've ever seen come out of MSFT! Congrats. As a fresh CS grad, I've heard academic whispering about functional programming but have never had the opportunity nor took the initiative to dig any deeper and learn it for myself. I'm excited that a pragmatic, .NET interoperable, first-class functional language is on the way from Microsoft. Great work guys! After 20-odd years following the computer industry I've never been happier with Microsoft. F# (and Oslo) show that Microsoft is not being complacent. And after Apple's all-style-no-substance "I'm a Mac; I'm a PC" campaign I even find myself rooting for MSFT. But I'm rambling in short great work on F# and a great introductory presentation with a sprinkling of humour Smiley.
  • User profile image

    Awesome video. 

  • User profile image

    Good Presentation!

    After the presentation, I had some fun with this F#. 

    It's an interessting language like C#.



    +1 404 424 4674

  • User profile image

    In regard to the examples, can you share the C# utilities and .dll files? 


  • User profile image

    Can you post the code files used in the demo/talk?


  • User profile image
    sean r

    Superb presentation, thanks.

  • User profile image

    Hello Luca,


    this video is fantastic!! Very intetresting. This F# remembers me the time when I was studing ML.

    Seems very very promising.

     Saluti da Reading - UK

     Marcco -- StockTrader

  • User profile image

    This is one of the greatest presentations. Thanks Luca, you're damn good)

  • User profile image

    Non capisco una cosa: lavori in Microsoft e mi sembri una persona in gamba, perche' non fai un bel corso di pronuncia inglese? Neanche nei film gli italiani parlano inglese in quel modo! :)
    I don't understand one thing: you are a Microsoft employee and yet you don't know how to pronounce english? Not even in movies italians pronounce english that way! :D

  • User profile image


  • User profile image

    nice =)

  • User profile image

    Excellent talk mate.

  • User profile image

    @birbilis: more compact yes, simpler to understand no

  • User profile image

    Concise and entertaining one-hour intro to F#.

  • User profile image

    Pipelining functions with classical C-Syntax gets messy when you have many functions with many parameters.
    Syntax itself changes the way you percieve programming -- it does indeed matter. If you use C# with and without LINQ, you notice how massive the difference between a functional approach and a sequential/imperative approach can be.
    I'm a big fan of the new functional features emerging in .NET, and this takes it a step further.

  • User profile image

    @Zibri:I am American and had no trouble understanding him.  His English is excellent.  Very nice video!

  • User profile image

    What an amayzing presentation!
    Teachs a lot! And the examples are practical application than to play with list of numbers and characters.

  • User profile image

    Such a relaxed presentation ! Good one Smiley

  • User profile image
    Alomgir A Miah

    This is really an awesome presentation. Thanks

  • User profile image

    The best accent I've ever heard! :)

  • User profile image

    The best accent I've ever heard! :)

  • User profile image

    The best accent I've ever heard! :)

  • User profile image

    Excellent presentation!! Informative and comical at the same time

  • User profile image

    I entered the same code as in 38:11 but when I type "grid prices;;", I get "C:\Users\Victor\AppData\Local\Temp\stdin (4,1): error FS0039: The value or constructor ' grid ' is not defined"
    How can I solve the problem. Thanks for your reply!
    Great video by the way!

  • User profile image

    @Victor: thanks for your interest!  The best place to ask these questions is over at the MSDN F# forum ( The short answer to your question is that Luca had already defined "grid" in his project. If you want to use these sorts of charting features in your F# programs, check out this blog post (

  • User profile image

    Great presentation. Shame it wasn't helped with some of the sad attempts at gotcha questions at the end. The biggest problem with this industry is the type who just want to demonstrate to them how 'smart' they are.

  • User profile image

    The code for getting the prices in C# using LINQ. It's kind of the same and little shorter.

    var prices = csv.Split('\n')
    .Select(line => line.Split(','))
    .Where(values => values.Length == 7)
    .Select(values => new { Date = DateTime.Parse(values[0]), Price = values[6] });

Add Your 2 Cents