Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

10-4 Episode 17: F# Intro

17 minutes, 21 seconds


Right click “Save as…”

In this episode of 10-4, we take a quick look at F#, a new addition to the family of managed programming languages in Visual Studio 2010. F# is a multi-paradigm programming language. Though its focus is at functional programming, it's capable of producing object-oriented code like other .NET languages. Since it is a .NET language, it can interop just fine with other existing .NET languages.

There is a lot to F#, more than we could possibly cover in a single 10-4 episode. So in this episode, we are just taking a brief look at the basic data types in F# as well as some more intermediate features like recursion, pattern matching, and partially-applied functions.

For people wanting to following along with this episode, you can grab the latest F# CTP directly from the F# MSDN Dev Center:

For more 10-4 episodes, be sure to visit:

hubFS: THE place for F#:

Don Syme's Blog:

Dustin Campbell's Blog:

Chris Smith's Blog:

Luke Hoban's Blog:

10-4! Over and out!


Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation
  • Vesuviusvesuvius Count Orlock
    Hello Jason, I noticed on your blog that your are foraying into F# and can see why now.

    I've not watched this yet, but am going to try your Dan Ingalls rectangle test in WPF, because logic dictates to me that WPF may be more object oriented than Windows Forms i.e. you should have to undergo less ceremony in WPF but I may be wrong. Not coded it yet.

    Is F# going to be supported out of the box in VS 2010?
  • Allan LindqvistaL_ Kinect ftw
    in the vieo you say that "the old value of 'a' is still around its just not accesible" but is that really true? surely it will be garbage collected if its not refrenced anywhere else? (in like a closure or something)
  • Correct. I just found it's an easier concept to explain to people without getting into the details too much (especially for a quick intro).
  • Interesting test. I'll be looking forward to seeing what you have to do to achieve it (most of the framework is not wired up in a way (via generics) where you can introduce your own numeric class and have it work just fine).

    And yes, as mentioned in the description, F# will be included in VS2010.
  • How is F# different from say, Lisp or Scheme?

    edit: Okay I googled a bit and found a couple of things.

    1. F# is strongly-typed, Lisp is not.
    2. F# is not homoiconic, Lisp is.
    3. F# has the .NET Framework, Lisp doesn't have too many built-in functions.

    I know that Lisp is used heavily for AI (at least academically). What are MS's plans for F#?

  • Lisp has macros & uniform syntax, F# does not. F# is statically typed (with type inference), Lisp is dynamically typed.
  • ZippyVZippyV Fired Up
    This is how I want to learn new programming languages.
  • Waleed El-BadryVBCoder Waleed El-Badry
    You are cool Jason.
    Cheers Mate
  • Im guessing F# will help MS be accepted into the academic world a little more. At university our first 6months was dedicated to Haskell and trying to shake off any pre-conceptions about programming we had. Functional programming is an interesting world!

  • This video presente basics of F#.  When r u  going to release another episode on F# , covering it as a functional PL in detailed manner?

  • This is like LISP!! I love it. It really feels home.

  • For those interested in learning F#, please see a free ebook on the topic at http://www.ctocorner.com/fsharp/book.



Remove this comment

Remove this thread


Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.