uyfrjk 发表于 2015-7-26 08:53:05

F# 4.0 发布,标准化 Array, List 和 Seq 模块

腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
  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 []
[*]  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>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的完全支持。
页: [1]
查看完整版本: F# 4.0 发布,标准化 Array, List 和 Seq 模块