Posted By: Charles | May 20th @ 3:24 PM | 36,226 Views | 19 Comments
With the release of VS 2010 Beta 1 today, F# is officially a part of the in-box VS family in the sense that it ships with VS 2010 as a first class language for use in building your .NET projects that require the power and flexibility of the functional approach to program composition. For VS 2008, a great IDE and toolset that you have at your disposal today, you can install the equivalent version of F# that ships with VS2010 Beta 1 as an add-in install. Right on!

Here, F# Program Manager Luke Hoban talks with me about F#, generally and what people have been doing with it, the current state of the technology, what F# enables, etc. You'll even see some code Luke's written, but this is mainly an Old School Channel 9 conversation. You know the drill.

Enjoy.

Learn more:

Don Syme's announcement of the F# 2010 beta release: http://blogs.msdn.com/dsyme/archive/2009/05/20/visual-studio-2010-beta1-with-f-is-now-available-plus-matching-f-ctp-update-for-vs2008.aspx

The F# Dev Center: http://fsharp.net/
Rating:
2
0
JoshRoss
JoshRoss
A righteous infliction of retribution manifested by an appropriate agent.

Congratulations on the release of Beta 1!  I have a question about Edit and Continue with F#, will it be supported with 2010?  If so, what are the tricky parts of getting it working, specificly working around immutability.

And what happened to your blog?

aL_
aL_
Rx ftw

can f# functions be made available as c#/vb extension methods? that one feature would increase the usefulness of f# for the avarage .net programmer like ten times Smiley

@35:00

that c# code could have been made a lot more compact with a linq statement Smiley when written in linq the f# and c# versions wouldnt look all that diffrent imo Smiley

aL_
aL_
Rx ftw

well, that perticular part of code may be more convenient to write in f# but if your whole project is a c# project, the convenience of a single method might not be worth it compared to the effort of creating and integrating a new project right? Smiley it all depends how much code like that you have..

but thats not my point, my point was that this perticular c# code is not representative of what c# is capable of, i argue that a c# linq query is not hugely diffrent from the f# example shown. there are plenty of other examples where f# really do provide a compact bit of code that really isnt possible to write in c# (pattern matching for example), im just saying a scenario like that would make for a better example of the f# coolness Smiley

beeing able to write f# extension methods usable from c# would be a really great enabler for doing just what your saying, using the right tool for the write job. surely you dont disagree with at part of my post? Smiley

aL_
aL_
Rx ftw

hehe ok Smiley

i guess my awnser is that if most of my code is most easily written in c# but f# is more suitable for some parts, id make a c# project and pay the inconvecience of either integrating two projects or writing it all in c# Smiley

but if i can write the f# suitable parts in f# and expose them as extension methods, i dont have to choose at all Big Smile

I totally agree Smiley

I currently try to make usefull F# examples for the company that I currently work for. I use C# for creating stuff like front-ends, main architecture, etc. And I build shared F# libraries to perform the actual computations/data processing in such a way that it easily plugs into the main architecture... (thanks to the excellent support for OO design and .NET in F# Smiley )

I love F# because it allows me to focus on the complex problem that I want to solve, without being distracted by all the plumbing code in the background.

p.s.: Thanks to all the people at C9 for all the excellent F# video's!

aL_
aL_
Rx ftw

nothing, i havent said that there is Smiley im just saying its a trade of with how much code we're talking about and how genericly applicable it is.. i mean you woudnt create a library just to be able to write one single specific method that is only used in one place in f#, espscially not if the penalty is of writing it in c# is so small. (comparing a c# linq statement with the equvalent f#). a generic library is another story Smiley

and again, beeing able to create extension methods in f# doesnt contradict what you're saying at all, it further enables it Smiley [im still not clear on if thats possible or not]

Microsoft Communities