10-4

10-4 Episode 17: F# Intro

Download this episode

Download Video

Description

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:
http://msdn.microsoft.com/en-us/fsharp/default.aspx

For more 10-4 episodes, be sure to visit:
https://channel9.msdn.com/shows/10-4

hubFS: THE place for F#:
http://cs.hubfs.net/

Don Syme's Blog:
http://blogs.msdn.com/dsyme/

Dustin Campbell's Blog:
http://diditwith.net/

Chris Smith's Blog:
http://blogs.msdn.com/chrsmith/default.aspx

Luke Hoban's Blog:
http://blogs.msdn.com/lukeh/

10-4! Over and out!

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • vesuvius
      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?
    • aL_
      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)
    • JasonOlson
      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).
    • JasonOlson
      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.
    • spivonious
      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#?

    • Jules.dot
      Lisp has macros & uniform syntax, F# does not. F# is statically typed (with type inference), Lisp is dynamically typed.
    • ZippyV
      This is how I want to learn new programming languages.
    • VBCoder
      You are cool Jason.
      Cheers Mate
    • Weqster

      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!

    • imfarida

      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?

    • dcleao

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

    • jpuopolo

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

      John

       

    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.