F# 1.9.2.7 released!
[ Update: F# 1.9.3 has been posted, and we don't expect any more 1.9.2 releases. ]
[ Update: the F# samples got dropped from this release - we'll be fixing that this week ]
[ Update: Granville has just posted a blog entry on how to get this version installing on Orcas Beta2 ]
[ Update: F# 1.9.2.9 has been posted (MSI, ZIP). This one contains the samples. ]
[ Update: Known issues:
- installation on Orcas Beta 2 - see above for workaround
- problems with "--exec" on F# 1.9.2.9 - fixed but not included in this release
- problems with F# Interactive in Visual Studio on some localized machines - has been fixed and the fix will be in the next update
- a minor problem compiling the Samples101 sample or any projects that use RESX files directly on the command line, see <cs.hubfs.net/forums/thread/3613.aspx> for workaround
- the ConcurrentLife sample is busted in the 1.9.2.9 release. It will be fixed in later releases. Thanks to Ted Neward for pointing this out ]
About 8 days ago I gave a presentation at the Microsoft Faculty Summit, rounding off a major trip to Redmond for the F# Cambridge team. Whenever we give a major series of talks we like to release the version of F# we used at the talks. So, we've released F# 1.9.2.7 in both MSI and ZIP formats (use the MSI on Windows, and the ZIP on Mono - see updated links for 1.9.2.9 above). Also well done to James for pulling this release together.
Although we've put this through our standard test procedures, we haven't enabled this as the default download, partly because we're planning to make a couple of very minor tweaks to the new functionality (just a few library renamings).
So, here's what's new in 1.9.2! First the quick summary. I've also posted the complete release notes.
- Slicing syntax. e.g. try arr.[1..5]. 2D-slices also available. No slice-setters as yet. See the full release notes.
- Named Arguments. Calls to members (but not let-bound functions or function values) may use named arguments. Again see the full release notes. For example
System.Console.WriteLine(format="Hello {0}",arg0="World")
- Optional Arguments. Members (but not let-bound functions) may have optional arguments. See the full release notes.
- Hashing and equality on F# values. Recall that F# automatically implements comparison and hash semantics for tuple, record and discriminated union types (only). Now F# will also implement Object.GetHashCode and Object.Equals for these types. See the full release notes.
- Language cosntructs for "computation expressions" (akin to Haskell monadic syntax) . Details to follow in later posts (yes, I've whet your appetite, haven't I.... But this one needs a few separate blog entries...)
- Library constructs for "asynchronous workflows". This is asynchronous and parallel programming using computation expressions. Details to follow in later posts again (those at the Faculty Summit and in Redmond last week have already seen a preview of this)
Other Language enhancements
- Added "workflow" syntax updates. More details to follow.
- Added [1..2] without spaces.
- Added [< assembly : attributeExpr >] for assembly level attributes.
- Added pattern matching on 64-bit numbers.
- Added extension members (examples in F# programming library files control.fsi and control.fs).
- Added datatype constructors used as first class functions.
- Made begin/end optional for modules.
- Made class/interface/struct-end optional in for type definitions.
- Made with/end optional for type-augmentations.
- Added __SOURCE_FILE__ and __LINE__.
Library additions
- Added Microsoft.FSharp.Plot.* interactive plotting previews.
- Added Microsoft.FSharp.Collections.Permutation.
- Added CodeDom provider.
- Added typeof<ty>, sizeof<ty> as functions.
- Adding ASP.NET samples.
Library minor changes
- Additions to Seq module, e.g. orderBy, groupBy, countBy and sumByInt.
- Additions to IEvent module, e.g. merge/split.
- Additions to Quotations, added ReflectedTopDefn.
- Added HashSet.Create for sequences.
- Deprecated Idioms functions now available by other means.
- Removed FlagsAttribute restriction on enum bit twiddling.
- Deleted obsoleted CompatArray functions.
Bugs fixed:
- 977 Fix: resx files compiled without change to cwd.
- Fix: FSI reflection emit support for constrained callvirt opcodes.
- Fix: Hashtbl copying bug.
- Fix: nested module/type loading bug.
- Fix: performance improvements to BigNat and BigInt.
Cheers!
Don, for the F# team...
Comments
Anonymous
July 26, 2007
Don, Is there any way, much as with the Lang .NET Syposium, that the presentations from the MSR Summit could be made available? Kind regards, tomAnonymous
July 26, 2007
Just as I'm sure you are all caught up in the wave of new downloads in the last 24 hours here is oneAnonymous
July 27, 2007
Don Syme's WebLog on F# and Other Research Projects mentions F# 1.9.2.7 released! . The quick summary.Anonymous
July 28, 2007
Looks great! I can't seem to find Microsoft.Fsharp.Plot though.Anonymous
July 29, 2007
Though I managed to sneak away for some vacation time this week, it's clearly been a busy time for theAnonymous
September 21, 2007
One of the things we added to F# in version 1.9.2 is a syntax for compuation expressions . These areAnonymous
September 21, 2007
One of the things we added to F# in version 1.9.2 is a syntax for compuation expressions . These areAnonymous
October 10, 2007
For some reason I wanted to look at the samples again as it's been a long time since I took a peak atAnonymous
October 10, 2007
F# 1.9.2.9 includes a pre-release of new F# functionality called asynchronous workflows . In this blogAnonymous
October 10, 2007
Don Syme's WebLog on F# and Other Research Projects has the announcement of F# 1.9.2.9 including a pre-releaseAnonymous
October 10, 2007
Don Syme's WebLog on F# and Other Research Projects has the announcement of F# 1.9.2.9 includingAnonymous
December 02, 2007
Hello, I have Visual Studio 2005 SP1. I've installed F# Extensions for VS, ver. 1.9.2.9. I can use F# Interactive window and compile projects, but IntelliSense doesn't work with .ml files. What can I do to solve this? I've installed F# with alternative-install.bat and alternative-install-vs2005.bat, because MSI installation failed.Anonymous
December 02, 2007
Hi PS, Try 1.9.3, which has just been released. http://blogs.msdn.com/dsyme/archive/2007/11/30/f-1-9-3-candidate-release-now-available.aspx Cheers! DonAnonymous
December 02, 2007
I've tried! The same problem :( Previously I had an earlier version of F#, everything worked great, including IntelliSense support, but VS integration ceased to work after installation of VS SP1, so i've had to reinstall F#.Anonymous
December 03, 2007
Hi PS, Could you send us a full trace - Environment variables (run "setenv") - OS (Vista/XP etc.) - Are you an admin on the machine? - Follow the instructions in the README-fsharp.html re. looking for particular registry settings. Send to fsbugs ATT microsoft DOTT com Thanks DonAnonymous
January 04, 2008
Stephan Tolksdorf has been a regular F# user of late and has provided us with much excellent feedback,Anonymous
January 04, 2008
Stephan Tolksdorf has been a regular F# user of late and has provided us with much excellent feedback