Microsoft已发布Visual F#4.0作为Visual Studio 2015的一部分。它是F#语言和VS工具的第一个主要发行版本,其中包括社区贡献。
根据发行说明,新版本具有新的语言和运行时附加功能,可以填补空白,使更多的功能“正常运行”并提高关键领域的性能。
但是,该发布对于实现它的方式也很重要。F#团队在.NET博客上写了该发布时说:
“ F#4.0与语言规范,库和工具的更新一样,与语言文化的改变同样重要”,并补充道“现在通过fslang.uservoice.com以开放的协作方式完成语言设计。语言实现已转变为完全开放的工程模式,语言交付也正在转变为跨平台和多编辑器。所有这些工作都是由许多贡献者完成的,包括Microsoft,Microsoft Research,F#Software Foundation成员等等。”
新的语言功能包括作为一流函数的构造函数。到目前为止,还没有办法将类型构造函数视为可以传递并与其他函数组成的隔离函数。新版本将构造函数视为一流函数,与其他传统.NET方法相同。
Mutable和ref已经统一,因此“ mutable”语法现在可以在任何地方使用,并且捕获的值将在需要时由编译器自动转换为基于堆的“ ref”值。
还增加了对高维阵列的支持。.NET框架最多支持32维数组,但在过去的F#中,最多仅支持使用4级数组。现在,对于依赖于高维数组的外部库中创建的数组,此问题已修复。
另一个改进是对所提供方法的静态参数的支持。在以前的版本中,可以为提供的顶级类型提供静态参数,但是所有其他提供的类型,方法和属性都必须基于这一组参数来生成。现在,您可以给出一个类型声明以及方法的参数化用法。
现在可以通过标准[<AllowNullLiteral(false)>]将提供的类型指定为不可为空,并且类型Expr < t>的方法参数现在可以透明地自动引用,同时传递参数值和AST的值。生成它的表达式。
IDE是另一个需要改进的地方,它直接在IDE中支持脚本调试。较大且更复杂的代码段很难调试,但是直到现在,仍无法将Visual Studio调试器直接附加到F#脚本。通过VS 2015,您可以通过编辑器中的上下文菜单或F#Interactive窗口本身将调试器附加到当前F#Interactive会话,从而直接调试F#脚本。
对IDE的其他改进提供了一种查看项目元素是否最新的方法(与构建整个项目时失败或成功相反)。您还可以获得对象初始化程序表达式中的智能感知支持,因此完成列表将包含您可以初始化的可设置属性。还为命名参数添加了Intellisense。
您可以在发行说明中看到完整的改进列表。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。