rss feed blog search engine
 
Search rss blog search engine
 
Don Syme's WebLog on F# and Other Research Projects  
Released:  3-8-2005
RSS Link:  http://blogs.msdn.com/dsyme/rss.aspx
Last View 1/3/2009 7:22:23 AM
Last Refresh 1/8/2009 6:09:07 AM
Page Views 1455
Comments:  Read user comments (0)
Save It Add to Technorati Add to Del.icio.us Add to Furl Add to Yahoo My Web 2.0 Add to My MSN Add to Google Add to My Yahoo! Don Syme's WebLog on F# and Other Research Projects



Description:



F# to ship as part of Visual Studio 2010.. What does this C# code look like in F#? (part one: expressions and statements).. F# for Scientists online book club.. .NET Implementations of Excel Financial Functions, in F#..


Contents:

F# to ship as part of Visual Studio 2010

Last year, the head of the Microsoft’s Developer Division, S. Somasegar, announced that Microsoft had begun investing in F# as one of Microsoft’s supported languages on the .NET platform. I am now thrilled to announce one result of this investment: F# will ship as part of Visual Studio 2010! Since the September 2008 CTP of F#, the F# team has been working hard on integrating F# into the main development branch of Visual Studio 2010. Below I show a screen shot of using the F# development tools in the 2010 shell, with the new editor and the new look-back-in-time "Debug History" window.

 

Over the last year we’ve seen amazing growth in the F# developer community, and great excitement at conferences and user groups. Two of the recent highlights have been the PDC presentation on F# by Luca Bolognese, and the live demo of F# and other new language technologies at JAOO by Anders Hejlsberg, Where are Programming Languages Going. If you’d like to learn why Microsoft is adding a functional programming language to its Visual Studio and .NET development tools, and the kind of scenarios where this language gives particular productivity benefits, then I can’t think of any better place to start than these two presentations by two of Microsoft’s most experienced development and language experts.

 

In this first supported release, our aim has to be to focus on the core strengths of F# for exploratory programming with F# Interactive, programming with data and implementing parallel and asynchronous components. As we’ve talked to people privately about adding F# to Visual Studio 2010, some questions naturally arise, and I’ve attempted to answer those below. If you have more questions, please ask on the comments below!

 

Early screen shot of F# in Visual Studio 2010

 

 

 

Q. When will the next release of F# be? Will I be able to continue to use F# with VS2008?

o   Our next major release of F# will be as part of the first beta of Visual Studio 2010, and at around the same time we will make available a matching update release of the Visual Studio 2008/.NET2.0 F# compiler and tools.

 

Q. What about shared source?

Our plan is to make both the F# compiler and the core F# library available as shared source on CodePlex in the Visual Studio 2010 timeframe, most likely at the time Visual Studio 2010 ships. We also plan an active CodePlex project called the "F# Power Pack" which will contain tools such as the F# parser and lexer generators. We outlined these plans in a post to the F# mailing list in October.

Q.     Is F# in .NET 4.0?

o   The current plan of record is that the F# core libraries and compiler will ship as an additional component, not in the .NET Framework itself.  We expect this to be available as an F# redistributable package. Referencing this package from a Visual Studio setup project will be sufficient to deploy the core library DLL(s) it to a client machine.

 

Q.     What level of tool support should I expect?

o   As outlined above, our focus in this release of F# is in areas I like to characterize as data-rich and control-flow-rich programming, tackled using a functional programming approach (think algorithms, data manipulations, data transformations, parallel programming, and reactive programming components). The tool support we plan is thus based around editing, scripting, interactive evaluation, the project system, debugging, profiling and great integration with C# and Visual Basic.

 

Q.     Will this release include designer tools?

o   Our focus on delivering high-quality F# core tools is designed to augment Visual Studio’s amazing strengths as a presentation-rich object-oriented programming environment. As a result, we have made an explicit decision to leverage the strengths of C# and Visual Basic as presentational and designer-rich programming languages in this release. This means that F# users should use the Visual Studio designer tools to generate C# or Visual Basic code and incorporate those components into their F# applications. In Visual Studio 2010, we expect F# applications which include components built with designers (e.g. WinForms, ASP.NET, Silverlight and WPF applications with a designer front-end) will normally be authored as mixed language applications. We'll be providing templates that guide F# developers through this process.

 

Q.     What about Mono?

o   The F# compiler and tools will continue to provide a means for Mono users to develop F# applications, initiall through the Visual Studio 2008/.NET2.0 tool chain (see above).

 

Q. F# began as an “OCaml-like language for .NET”? Will it stay that way?

o   F# shares core language constructs with the excellent OCaml  language, from INRIA. This was an early design decision that acknowledged the importance of the Caml language family as a pragmatic realization of functional programming and as a basis for language innovation.  F# itself has now matured to include constructs such as F# object oriented programming, units of measure in F#, F# reflective programming and F# computation expressions.  Looking ahead, our plan of record is to continue to allow the use of F# in a mode that supports cross-compilation of a common subset of F# and OCaml, much as is done today. This will normally require the use of the F# Power Pack components, which will be available separately from the Visual Studio 2010 integration.

 

Q.     Will Microsoft Research stay involved?

o   Yes indeed! F# is a joint advanced development project between Microsoft Research, Cambridge and the Microsoft Developer Division. I am very glad to be staying involved as the language architect and will remain at Microsoft Research. Our awesome team includes people in Cambridge, Redmond, Vancouver and China, and some team members operate from Germany and New York. I am continually amazed at the people I get to work with on this project and the skills they bring, and we hope to make it a prime example of innovative development at Microsoft.

 

Many thanks to everyone in the F# and broader .NET, MSR and language communities for their support and assistance in getting F# to this point. We have exciting times ahead, and we trust this development will make the use of F# compelling and realistic in all its key usage domains.

 

Happy programming and development!

Don

 

 

 




What does this C# code look like in F#? (part one: expressions and statements)

A great blog from Brian McNamara on What does this C# code look like in F#?  

...when you are new to a language (F#), it is sometimes useful to know how to transliterate from a well-known language (C#) for those cases where you just don't know the idioms yet, but don't want that to prevent you from making progress. So today's blog entry takes the general form of "here's some C# code, how do I write the same thing in F#". It is intended to be used as a reference or as casual reading to discover some little-used or lesser-known F# syntax/operators/functions. Don't use this blog post as a way to learn the language, instead use the many useful F# tutorials and samples on the web (start here), and just use this blog post to "fill in the gaps" if needed.




F# for Scientists online book club

So, it's quite fun to stumble across the F# for Scientists online book club! And the next meeting is tonight!

Welcome to the F# for Scientists Book Club!  Our next meeting is Monday, December 8th @ 7pm PST. We'll be discussing Chapter 2: Program Structure Anyone can join you just need the following:




.NET Implementations of Excel Financial Functions, in F#

The one and only Luca Bolognese has released his model .NET implementations of Excel financial functions in F#. You can get it from here.

What is it?
This is a .NET library that provides the full set of financial functions from Excel. The main goal for the library is compatibility with Excel, by providing the same functions, with the same behaviour. Note though that this is not a wrapper over the Excel library; the functions have been re-implemented in managed code so that you do not need to have Excel installed to use this library. 
 
Where I can find documentation on these functions?

Just open Excel and click on Formulas/Financial or go to
this

...


How do I use the library?

Just add Financial.dll to the references in your project. The functions are provided as static methods on a Financial class in the System.Numeric namespace


I see the library was implemented with F#. But I don’t want to redistribute F# along with my application. What should I do?
There are two versions of the library. One of them statically links the F# libraries so that there is no dependency on F#. However, this assembly larger, so if you have F# installed, you can use the FinancialNotStandalone.dll instead.

How do I run the tests?

Run FinancialTests.exe. You need Excel 12 for the tests to work because they use Excel to test that the results are correct. You don't need Excel 12 to use the library in your own application.

...

Have you run performance tests on it?
Not at all. The only thing I checked is that all the recursive functions are tail recursive. Feel free to let me know if they are slow.




Home  
 


Link to us




RSS Feed of new blogs                                                   Home        Feed Map        Submit Feed      Link to Us       Contact