1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 F# 4.0 发布,标准化 Array, List 和 Seq 模块 下载

本帖由 漂亮的石头2015-07-21 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,336
    赞:
    47
    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[​IMG]

    • 其他新 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 模块下载地址
     
正在加载...