Visual F# 3.0 Beta 介绍

就像Jason Zander在他的博客里公布的那样,Visual Studio 11 Beta现在已经可以下载了!这个版本包含F# 3.0Beta版,F# 3.0介绍了F#信息富态编程

 

Beta版本发布了一些新的F#特性,包括:可移植库支持加强的Type Providers改善的智能感应,以及支持任意CPUFSI版本。我们也已经更新了F# 3.0 Beta例子包

 

可移植库

F#现在支持可移植库了,它允许你创建可工作在多个.NET平台的程序集,并且不需要重新编译。你可以把你的逻辑运算代码放进一个F#可移植库里,然后从WPFSilverlight 5Win8 Metro应用程序里引用。

 

例如:你可以用Silverlight 5Metro前端创建一个数据表程序(如下图)。所有的数据表逻辑,如给公式传参或执行公式,都可以被包含进F#可移植库,并且这个前期工程仅包含用户界面代码。

                                                          Silverlight

                                                                                             Metro

 

喜欢这个例子吗?不久我们将会发布源代码到Codeplex——敬请期待。

 

Type Providers

前面提到的Type Provider,我们已经改善了它的新条目模板。我们有以下几种模板:SQL数据库连接模板(用LINQ连接到SQL或用LINQ连接到实体),OData连接模板,或者WSDL连接模板。如果你是type providers的新手,使用这些模板是个很好的入门方式。

 

WSDL类型供给现在支持配置文件和命名端点,以处理当一个服务提供了多个端点的情况。大部分类型供给也有ConnectionStringConnectionStringName参数,这些参数能让你更容易的使用配置文件。当然,也可以用其它的参数来使它更容易的用相关目录来正常工作。

 

我们还增强了type providers的易用性。系统自带的type providers不再需要“[<Generate>]”属性,并且现在你可以通过清除工程或关掉脚本文件以清除type provider的缓存。

 

对于想要编写type provider的程序员来说,我们已经为支持诸如lambda表达式的类型成员扩展了语言结构集。这是通过将System.Linq.Expressions改为Microsoft.FSharp.Quotations.Exprs作为type provider的基础框架来实现的。

 

IDE

在这个版本里,我们进一步加强了智能感应——除了你已经见到的诸如参数帮助之类的。智能感应现在可以更好的实现上下文相关的过滤(例如,inherit关键字后面的部分),并且现在支持驼峰式大小写过滤。如:Console.WL会自动的被匹配成Console.WriteLine

 

type providers不会总是立即提供智能感应——如当查询一个web service的时候——在这种情况下,IDE会显示进度图标,如下图所示:

                         

      

 

 

支持任意CPUFSI

F# InteractiveFSI.exe)是一个32位程序,因此只有32位的程序集才能在它里面执行。由于64位的程序集会越来越普遍(如新的云数字库),我们创建一个支持任意CPUFSI版本,它默认路径位于:“C:\Program Files (x86)\MicrosoftSDKs\F#\3.0\Framework\v4.0\FsiAnyCPU.exe”。要使用这个版本的FSI,在F#工具选项里设置一个不同的路径:

 

说到F# Interactive,很不幸,Beta版本有一个bug——你无法从“查看”菜单中启动Interactive窗口。但是,有一个简单的方法绕开它:打开一个后缀名为.fs.fsx的文件,或者直接按Alt+Enter,或者从鼠标右键的上下文菜单中选择在交互中执行。我们已经在我们本地的版本中修复了这个问题,这个bug会在下一个版本里修复。

 

资源

你可以在Windows7上面装VisualStudio 11 Beta以迅速启动,或者安装在刚刚发布的Windows 8消费者预览版上。更多相关F# 3.0特性见我们所发的博客开发预览版。注意查收我们的一些视频F#3.0例子包F#研发中心,或者MSDN页面。像以往一样,我们期待着大家的反馈——请发到F#论坛用户之声上。

 

原文链接:http://blogs.msdn.com/b/fsharpteam/archive/2012/02/29/introducing-visual-f-3-0-beta.aspx

posted @ 2012-03-31 15:55  tryfsharp  阅读(361)  评论(0编辑  收藏  举报