F# 3.0
文章平均质量分 61
fsharp_net
这个作者很懒,什么都没留下…
展开
-
FSharp 3.0 开发者预览版
Visual Studio F# 团队很高兴地宣布作为Visual Studio 11 开发者预览版 的一部分:F# 3.0 预览版于2011年9月12号正式发布。正常预览版发布将在9月15号。F# 编译器将继续作为一个独立的安装, 但是配置不作为预览版的一部分。F#是一个强大、简洁、高效和易于表达的语言,能用简洁的代码帮您解决复杂的问题。F#是生产率加速器—越来越多的社区用它在不同领域来翻译 2011-12-20 11:00:48 · 1418 阅读 · 3 评论 -
Type Provider - 通过 给一个自定义基类共享信息
我有一个坏习惯,对我来说,忘记它不是很容易。昨天晚上,这个小怪物又来困扰了我。可能我不能解决之前的问题,相反我被引诱到一片新领土。昨天晚上,这个怪物提醒了我单元测试 type provider, 使我想到怎样在不同的type provider方法间共享信息。目前的type provider的方法调用是独立的, 几乎没有如何维护一个内部状态的例子。正则表达式type provider是一个例子。翻译 2012-06-01 12:57:24 · 2461 阅读 · 0 评论 -
F# 3.0 CLIMutable特性
如果你曾经用一些设计器支持使用过XAML,那么你将额外地受益于设计器所带来的好处。我已经花费了数周,不用实现任何功能和设计器支持的工作。这里描述了一个案例。默认的构造函数是关键!不幸地是,F#里面的 record类型没有一个默认的构造函数,这使绑定变得困难。 现在我们有CTlMutable来解决这个问题。CTlMutable截屏如下: 如果你定义下面的F#代码:[ ]t翻译 2012-05-24 11:30:36 · 1588 阅读 · 0 评论 -
F# 智能感应在某些情况下不能工作
在现在的Visual Studio 2012中,F#智能感应有时候在某些情况下不能工作。那么在何种情况下它会不工作呢?可以绕过去么?让我来告诉你详细情况吧。请看如下代码:open System.Collections.ObjectModel module PortableLibrary1= type Keys= | One = 1 | Two原创 2012-06-08 16:59:40 · 1651 阅读 · 0 评论 -
注意:我们不能在模式匹配中放入lambda 表达式
以下代码在VS2012中不能通过编译,你知道么?知道为什么么?let f0 x = x % 2 = 0let f1 x = x % 2 let ( | Even | _ | ) f (x:int) =if f(x) thenSome(Math.Sign(x))else Nonelet ( | Odd | _ | ) f (x:int) =if f(x) thenS原创 2012-06-08 17:01:46 · 1833 阅读 · 0 评论 -
如果类是个泛型类的话dllImport 代码不能编译
你可能需要在dllImport代码中使用泛型类。但是你知道下面的代码段能通过编译么?open System.Runtime.InteropServices type B() = member this.F() = () module A = ["aa")>]externvoid AA(B a)答案是否定的。注意最后一行将抛出一个错误:Un原创 2012-06-08 17:03:41 · 1895 阅读 · 0 评论 -
模式匹配的类型测试不能识别List<’a>
我在Visual Studio论坛上读过一个很有趣的论坛帖子,内容大致是这样的:当试图测试一个obj对象是否是一个空的list,我们不能用模式匹配的类型测试来达到目的,具体代码如下:let empt (o: obj) = match owith | :? List as l when l.IsEmpty->true | _ ->false编译原创 2012-05-17 10:05:31 · 1603 阅读 · 0 评论 -
Visual F# 3.0 Beta 介绍
就像Jason Zander在他的博客里公布的那样,Visual Studio 11 Beta现在已经可以下载了!这个版本包含F# 3.0的Beta版,此F# 3.0介绍了F#信息富态编程 Beta版本发布了一些新的F#特性,包括:可移植库支持,加强的Type Providers,改善的智能感应,以及支持任意CPU的FSI版本。我们也已经更新了F# 3.0 Beta的例翻译 2012-03-31 15:29:52 · 2509 阅读 · 0 评论 -
F#中的异步和并行设计模式(二):用事件触发来报告进度
在这篇文章中,我们将着眼于一个常用的异步设计模式,我叫它用事件触发来报告进度。在这篇文章后面,我们将使用这种设计模式从推特上抽样读取帖子流。这是F#异步编程基础技术系列的第二部分,这里有些例子的代码是摘自F# JAOO 教程。· 第一部分描述了F# 通过支持轻量级交互是一种怎样的并行和交互式语言,并且介绍了 并行CPU异步处理和并行I/O异步处理模式。·翻译 2011-12-28 10:29:26 · 940 阅读 · 0 评论 -
F# 3.0 BUILD讲座的示例代码
这段时间有些朋友因为要做F#3.0的讲座,需要我在F# 3.0 BUILD 讲座中的演示脚本, 我已经将它打包在本文的后面了。这些例子仅仅是为了测试Visual Studio 11 开发者预览版.它们在以后Visual Studio版本上必须做适当修改才能运行。如果这里有什么问题请通知我Demo\TwitterFeed\TwitterFeed.fsx - 用来介绍F#2.0函数式翻译 2011-12-21 16:15:16 · 914 阅读 · 1 评论 -
F#3.0自动地实现属性
F#3.0实现了几个新的功能:Automatically Implemented Property(AIP).这简化了在类型定义里面的属性声明,但不仅仅是这些。 基本的AIP是,用更简明的语法,你就能定义一个属性。下面的MyProperty是一个AIP. typeMyType() =classmembervalMyProperty = 0 with get, set翻译 2012-05-24 11:41:40 · 1659 阅读 · 0 评论