Visual F# 4.0 发布,此版本现已提供下载: https://www.visualstudio.com/downloads/download-visual-studio-vs。 F# 4.0 包含新的语言特性: 构造函数作为一级函数 可变值的使用简化 支持高维的数组 支持方法中的静态参数 简化列表的语法 简化 printf 函数的使用 GC 优化提升性能 API 改进: 标准化和扩展 Array, List 和 Seq 模块 New APIs for 4.0: chunkBySize, contains, except, findBack, findInstanceBack, indexed, item, mapFold, mapFoldBack, sortByDescending, sortDescending, splitInto, tryFindBack, tryFindIndexBack, tryHead, tryItem, tryLast 其他新 API Option.filter, Option.toObj, Option.ofObj, Option.toNullable, Option.ofNullable String.filter Checked.int8, Checked.uint8 Async.AwaitTask (non-generic) WebClient.AsyncDownloadFile, WebClient.AsyncDownloadData tryUnbox, isNull 其他值得关注的改进: New active pattern to match constant Decimal in quotations Slicing support for lists Support for consuming high-rank (> 4) arrays Support for units of measure in printf-family functions Support for constructors/class names as first-class functions Improved exception stack traces in async code Automatic mutable/ref conversion Support for static arguments to provided methods Support for non-nullable provided types Added NonStructuralComparison module containing non-structural comparison operators Support for rational exponents in units of measure Give fsi.exe, fsiAnyCpi.exe nice icons Microsoft. optional in namepsace paths from FSharp.Core Support for extension properties in object initializers Pre-support (not yet used) for additional nativeptr intrinsics Simplified, more robust resolution of type references in quotations Support for inheritance of types that have multiple interface instantiations Extended preprocessor grammar Support for implicit quotation of expressions used as method arguments Support for multiple properties in [<StructuredFormatDisplay>] Eliminate tuple allocation for implicitly returned formal arguments Perf: fsc.exe now uses GCLatencyMode.Batch Perf: Improved hash/compare/distinctBy/groupBy performance Perf: Seq.toArray perf improvement Perf: Use OptimizedClosures.FSharpFunc in seq.fs where applicable Perf: Use literals and mutable variables instead of ref cells for better performance in SHA1 calc Perf: Use smart blend of System.Array.Copy and iterative copy for array copies Perf: Change Seq.toList to mutation-based to remove reliance on List.rev Perf: Change pdbClose to test if files are locked before inducing GCs Perf: Use server GC mode for compiler Visual Studio 方面的改进: Updated all templates (except tutorial) to include AssemblyInfo.fs setup in the same manner as default C# project templates Add keyboard shortcuts for FSI reset and clear all Improved debugger view for Map values Improved performance reading stdout/stderr from fsi.exe to F# Interactive window Support for VS project up-to-date check Improved project template descriptions, make it clearer how to target Xamarin platforms Intellisense completion in object initializers Add menu entry "Open folder in File Explorer" on folder nodes Intellisense completion for named arguments Alt+Enter sends current line of code to interactive if there is no selection Support for debugging F# scripts with the VS debugger Add support for hexadecimal values (like 0xFF) ??to MSBuild property BaseAddress Updated menu icons used for F# interactive to align with other VS interactive windows 此外还有写 bug 修复,详细改进内容请看更新日志。 F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言,是函数编程语言(FP,Functional Programming),函数编程语言最重要的基础是Lambda Calculus。它是基于OCaml的,而OCaml是基于ML函 数程式语言。有时F# 和 OCaml 的程式是可以交互编译的。 F#已经接近成熟,支援Higher-Order Function、Currying、Lazy Evaluation、Continuations、Pattern Matching、Closure、List Processing、Meta-Programming。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编 译和调用。 F#将被集成在Visual Studio 2010中,含有对.Net Framework的完全支持。 F# 4.0 发布,标准化 Array, List 和 Seq 模块下载地址