I’m pleased to announce that F# 1.1.13 is now available! You can download this release from http://research.microsoft.com/fsharp/release.aspx

 

This is an exciting release, containing many important enhancements to the language that make F# programming simpler, more powerful and easier to explain and understand.  We’re particularly pleased with comprehensions, which, although found in other languages, works beautifully in conjunction with other F# language features such as pattern matching. These also simplify the use of many .NET APIs and collection types.  We've also included named arguments, C# 3.0-style property setters and a host of improvements to the F# library, as well as a good number of bug fixes based on feedback from our rapidly expanding user base.

 

We've placed a summary of the changes in this release on a separate page, a short summary is below. We'll be blogging further about some of the new features in the coming weeks, and look out for the next draft installment of the Expert F# book, coming soon.

 

Language Enhancements

  • Range Comprehensions. e.g. {1 .. 3}
  • IEnumerable, Array and List Comprehensions.
  • Named arguments and post-hoc property-setters 
  • 'for' loops over enumerables.
  • C-style syntax for native functions.
  • Structs and Enums .
  • Slick member syntax for object expressions.
  • Pattern matching on arrays. 
  • Tightening of #light rules.
  • Custom Attributes on parameters.
  • Fast 'for' loops for Range Comprehensions.

Library Enhancements

  • Seq as shorthand for IEnumerable.
  • Extensive design review of F# namespaces.
  • New library functions
  • Optional Safer Collections. 
  • New Module ResizeArray
  • NativeInterop additions NativeArray, CMatrix, FortranMatrix, PinnedArray, PinnedArray2
  • Library addition: Matrix.copy, Vector.copy, Array2.copy, F# Immutable Map values now support the map.[i] syntax., Map, Set and HashSet now support IEnumerable

F# Interactive Enhancements

  • TAB completion and history in F# Console. 

Visual Studio Enhancements

  • Visual Studio: Goto defintition across projects
  • Improved speed of bracket matching in Visual Studio mode.
  • Resources in projects:  .resx resources may now be added to the list of files in the Visual Studio mode.

Compiler Enhancements

  • Resources on the command line: .resx resources may now be added to the F# command-line compiler and as files in the Visual Studio mode.
  • New switch --generate-filter-blocks. 

Samples

  • New LAPACK sample.. See samples\fsharp\math\LAPACK
  • New WPF sample for use with F# Interactive. See samples\fsharp\WPF

Enjoy!

 

The F# Team

MSR Cambridge