Entries:
Comments:
Posts:

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

Don Syme: What's new in F# - Asynchronous Workflows (and welcome to the .NET family!)

Download

Right click “Save as…”

I was lucky enough to catch up with Don Syme at TechED Developer 2007. I'm a big fan of F# and it's great to see that a product team is being formed to bring this powerful functional language into the official .NET family. Joining in this conversation are F# master Robert Pickering and a special guest, Tomas Petricek, who's done some amazing things with F# recently.

Here, we talk about, well, F# Smiley Specifically, we address what F# joining the .NET family means, what state the project is in, delve into concurrent programming and parallelism topics and look into (and at) the latest F# features that make it easier to exploit multi-core hardware. Don even does some demos on his laptop that show off some cool new async features of F# (async workflows) and hint to the future of the language.

It's always great to chat with Don. Tune in.

Enjoy.

Tags:

Follow the Discussion

  • Another great F# / Don Syme et al interview. Smiley
     
    Now you need the equipment to be able to do 2 hour interviews, Charles. Big Smile
  • Nice video (a little noisy in the background, but what can you do? Tongue Out).

    I love all F# content.  Keep it up!  Cool

  • CharlesCharles Welcome Change
    Sorry about the audio quality. Perhaps it's time for me to invest in some pro audio gear? This interview was rather spontaneous - it took place in a hotel, near the hotel restaurant. I had to keep this one short given what time it was and the fact that there were people waiting for me to join them for dinner (hungry people are often not also super patient people) Smiley

    You will see more functional programming content on Channel 9, including, of course, more Don. Next time Dr. Syme's in town I'll try and grab him (and Erik Meijer) for a heady conversation on F# and functional programming generally.

    I do have another functional programming treat for you that will play over the upcoming weekend (for those in the States, that's Thanksgiving weekend (starting on Thursday, Nov 22, so eat turkey, relax and learn)).

    C
  • Christian Liensbergerlittleguru <3 Seattle
    Tomas blog is at http://tomasp.net/ - I had the chance to chat with him a little bit after the TechEd was over. We were driving back home together in the subway. It's truly amazing to see how much passion these guys have for F# Smiley
  • Christian Liensbergerlittleguru <3 Seattle
    esoteric wrote:
    Now you need the equipment to be able to do 2 hour interviews, Charles.


    Once you see the battery on Charles camera you would never ask this question again. It's a huge thing! 4 hours of currency! He would be able to do way longer interviews... but as he said there might be other coincidences why the interviews are shorter.

    Great to see Don Syme! He's a cool dude and F# is awesome. F# is really worth it checking it out.
  • Awesome interview: thanks to everyone for doing it!

    Asynchronous workflows just made it to the top of my list of exciting new F# developments to learn about... Smiley

  • You should definitely check out Tomas' blog, which littleguru linked above.  He has an article with a code sample library for implementing asynchronous workflows-like code in C#, as well as a nice set of articles introducing F#.

    As interesting as F# is, I would still love to see LISP or SCHEME running on the CLR/DLR. I would find it absolutely delightful if a user-friendly dialect of LISP became the most popular software development language 5 years from now, with versions to generate CIL and JVM (and maybe Dalvik) bytecode.

  • Christian Liensbergerlittleguru <3 Seattle
    JChung2006 wrote:
    You should definitely check out Tomas' blog, which littleguru linked above.  He has an article with a code sample library for implementing asynchronous workflows-like code in C#, as well as a nice set of articles introducing F#.

    As interesting as F# is, I would still love to see LISP or SCHEME running on the DLR. I would find it absolutely delightful if a user-friendly dialect of LISP became the most popular software development language 5 years from now.


    F# is different from the DLR. The DLR is more a set of classes that allows you to run/create a dynamic language on the fly. You should check out the DLR LOLcode implementation to see how to implement a language for the DLR in ~15 hours!!

    We asked/begged Martin Maly (who wrote LOLcode for TechEd) so long that he released it. I find LOLcode for DLR a neat example on showing how to implement your own language in the DLR. Smiley
  • Besides the dynamic language bits, which are nice, what is interesting about the DLR is that they are refactoring the CLR aka CoreCLR.

  • This computation expression thing (a.k.a monads from Haskell) is cool. Nice to see it making it into a more mainstream "disguise" (it really is just like Haskell's monads, but with a less scary sounding name!).

    I wonder if they will ever just bite the bullet and deprecate ad-hoc side effects, forcing them to be used only within a computation, which would effectively make the language purely functional. I would put any non-IO function in an ST like monad though, so you can still write methods that use .Net mutable objects as long as those objects are local to the method and don't leak out.
  • CharlesCharles Welcome Change
    sylvan wrote:
    This computation expression thing (a.k.a monads from Haskell) is cool. Nice to see it making it into a more mainstream "disguise" (it really is just like Haskell's monads, but with a less scary sounding name!).

    I wonder if they will ever just bite the bullet and deprecate ad-hoc side effects, forcing them to be used only within a computation, which would effectively make the language purely functional. I would put any non-IO function in an ST like monad though, so you can still write methods that use .Net mutable objects as long as those objects are local to the method and don't leak out.


    Funny you should mention monads. Stay tuned Smiley

    C
  • JChung2006 wrote:
    

    You should definitely check out Tomas' blog, which littleguru linked above.  He has an article with a code sample library for implementing asynchronous workflows-like code in C#, as well as a nice set of articles introducing F#.

    As interesting as F# is, I would still love to see LISP or SCHEME running on the CLR/DLR. I would find it absolutely delightful if a user-friendly dialect of LISP became the most popular software development language 5 years from now, with versions to generate CIL and JVM (and maybe Dalvik) bytecode.



    There's an IronScheme project in the works that runs Scheme on the DLR.

    http://wordpress.com/tag/ironlisp/
    http://www.codeplex.com/IronScheme

    It's open source under the Ms-PL license, so roll up your sleves and get crackin'! Cool
  • Charles wrote:
    
    Funny you should mention monads. Stay tuned

    C


    You tease! When will we get more of the monad love?

  • CharlesCharles Welcome Change
    sylvan wrote:
    
    Charles wrote:
    
    Funny you should mention monads. Stay tuned

    C


    You tease! When will we get more of the monad love?



    The love is here. Enjoy!

    Happy Thanksgiving to all the US Niners.
    C

Remove this comment

Remove this thread

close

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.