[ Updated Note: Visual Studio 2003 users: this release has an installation problem when used with Visual Studio 2003. Please see the details here for a workaround. ]
[ Updated Note: Virtual PC users: The good man at JJB Research has noted that users of Virtual PC may need to adjust key bindings in order to use F# Interactive in Visual Studio. ]
I'm glad to announce that F# 22.214.171.124 is now up on http://research.microsoft.com/downloads
In this release:
F# Interactive for Visual Studio. This release comes with a prototype version of 'F# Interactive' for use as a tool Window in Visual Studio 2005. The tool window is a Visual Studio AddIn, and should be managed via the Visual Studio AddIn Manager menu option found under the 'Tools' menu. To start the session, go to the AddIn manager and select 'F# Interactive for Visual Studio'. If it is already selected, then unselect it, reopen the AddIn manager and reselect it. Either way a new window should appear with an F# Interactive session. The session is global to the instance of Visual Studio and text can be sent from any F# source code file (.fs, .fsi, .ml, .mli). Use the 'Alt-Return' combination to evaluate selected text, and 'Alt-Quote' (i.e. Alt-') to evaluate the current line of text without selecting it. These shortcuts may change in future releases.
To troubleshoot an installation:
· Check fsi.exe starts up at the command prompt, including entering simple programs.
· Check the 'bin' directory of your F# installation (e.g. FSharp-126.96.36.199\bin) is listed in the entries in your AddIn search path under 'Tools', 'Options' in Visual Studio.
Other things in this release:
· Unified, first-class, composable events. .NET events can now be accessed directly through their real name (e.g. form.Click) rather than through their helper functions (form.add_Click etc.). They can also be used in a first-class way, i.e. form.Click can be passed around as a value. The type of such a value is Idioms.IDelegateEvent, which extends Idioms.IEvent. F# published delgate types should now have type Idioms.IHandlerEvent. An MLLib module Microsoft.FSharp.MLLib.IEvent includes some basic polymorphic operations over IEvent types.
· Quotation processing over raw quoted expressions. New quotation operators such as <@@ @@> are supported for quoting terms (expressions) in their raw form, which is very useful when implementing quotation transformation libraries. More details can be found in the documentation on the Quotations module and the F# informal language specification.
· Removed Drop-Down VS Discrimination Menus. Temporarily disabled discrimination drop-down Intellisense in VisualStudio, due to poor completions.
· Minor improvements and Bug Fixes
· Improved local debug symbol information tracking, reducing number of compiler generated locals visible, and restricting display of locals to their true lexical scopes.
· Edits to language specification, courtesy of James Huddleston (thanks James!).
· Improvements to code generation (generate 'brcmp' instructions).
· Improvements to the Samples101 sample. This is still work in progress.
· Fixed Unicode bugs reported by Artem (thanks Artem!).