F# 1.1.13 now available!


 


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

Comments (24)

  1. F# 1.1.13.8 has just been posted, the first external release of F# 1.1.13, and is available for download…

  2. Duncan Mak says:

    Will this work with Mono?

  3. dsyme says:

    Hi Duncan,

    Yes, it will work with Mono 1.2.1 – install using ‘sh install-mono.sh’.  One thing I’ve been told is that you have to run ‘dos2unix’ on the install-mono.sh: it looks like the wrong line endings crept into that file…  Also the pre-compilation step for FSharp.Compiler10.dll can supposedly take a couple of minutes.

    Have fun!

    don

  4. Slavomir Kaslev says:

    Good work, Done. Keep it up! =-)

  5. Don Syme and the F# team have just released a new version of F#. Check it out here: http://blogs.msdn.com/dsyme/archive/2006/11/30/f-1-1-13-now-available.aspx

  6. 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

  7. Don Syme’s WebLog on F# and Other Research Projects : F# 1.1.13 now available! F# Download 달라진 점들은 다음과

  8. Don Syme annouced a new drop of F# – I especially like these samples: New LAPACK sample. . See samplesfsharpmathLAPACK

  9. dante cruciani says:

    Hi Don,

    I already know the OCaml language at intermediate level…

    which is the better way to learn the F# language?

  10. dante cruciani says:

    Hi Don,

    I already know the OCaml language at intermediate level…

    which is the better way to learn the F# language?

  11. dsyme says:

    Hi Dante,

    The best way is to read the draft Chapter 2 of "Expert F#" that’s up on my blog. All oging well more chapters will be up soon.  Then port a small OCaml application and look around at the other large application samples on hubFS and elsewhere.

    Cheers!

    don

  12. SS says:

    The link http://research.microsoft.com/fsharp/release.aspx is not reachable all day today. Is it down?

  13. dsyme says:

    Re research.microsoft.com being down: there was extreme weather in the Seattle areay, with many thousands of homes without power, and it looks like the Microsoft Research servers are affected.

  14. Jack says:

    "F# Interactive" work with

    Visual C#/C++ Express or just with Visual Studio?

    best regard, Jack

  15. dsyme says:

    Jack – you can run F# Interactive from Emacs and/or a command-line console window.  You can’t run it as a tool inside the Express editions of Visual Studio.  You can use the Express editions to debug F# code.

    Cheers!

    don

  16. Jules says:

    F# and Emacs work well together. I use taureg-mode and changed some things. It doesn’t indent #light code correctly though.

  17. Stephen says:

    Hi Don,

      Does F# 1.1.13 have a bug with Quotations? I’m trying to get the quotation expression of a simple function like <@ let f x = x + 5 @> but the interactive compiler gives syntax errors. I also tried using <@@ ..@@>. An example would be greatly appreciated. Thanks!

    Stephen

  18. dsyme says:

    Hi Stephen,

    Here’s an example:

    open Microsoft.FSharp.Quotations.Typed;;

    <@ 3 + 3 @>;;

    <@ let f x = x + 5 in f 3 @>;;

    Your code was a declaration, not an expression.

    cheers!

    don

  19. Stephen says:

    Of course! Duh! Thanks a lot Don and keep up the excellent work.

    Stephen

  20. Gorm Lai says:

    Hi,

    We are using the F# plugin for VS. We found two issues so far, one major and one minor.

    It seems it is impossible to create work folders in the project overview? This makes it difficult to handle large scale projects. This probably minor impl. work, but matters a lot for organizing projects.

    Another thing is that endless recursion crashes VS. Example:

    type Window = class

     inherit Window

    This is of course a typo, however VS crashes as soon as the last ‘w’ is put in. We use interfaces a lot, so a Window would probably use an IWindow interface, so these kind of typos can be semi-frequent.

    Otherwise great work guys. We are really looking forward to getting on with F#.

  21. markovich says:

    This probably minor impl. work, but matters a lot for organizing projects.

  22. 생활지혜 says:

    실내 온도를 빨리 올리고 싶다면 가습기를 튼다

    외출 후 돌아와서 집이 추울 때 보일러 온도를 무작정 높이지 말고 적당한 온도로 맞춘다.

    대신 가습기를 틀어 집에 습기를 더한다.

    보일러를 작동시키면 바닥이 덥혀지면서 집이 따뜻해지는데,

    습도가 높으면 공기 순환이 빨라져 집이 빨리 데워지는 효과가 있다.

    출처:다음카페 생활의지혜!

Skip to main content