写点什么

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程

  • 2011-09-27
  • 本文字数:1176 字

    阅读完需:约 4 分钟

微软最近宣布了F# 3.0 的开发者预览版——新特性包括通过查询表达式支持LINQ,以及类型提供程序系统和一组内置的提供程序,使得对各种数据源的编程变得简洁。

F# 3.0 的富信息编程特性使你可以对数据库、Web 服务、Web 数据源和数据代理直接编程。比如说,你现在可以这样做:

<p><span face="Consolas"><span color="#000000"><span>[<Generate><generate>] <br></br></generate></span></span></span><span face="Consolas"><span><span><span color="#0000ff">type</span></span><span color="#000000"> Northwind = ODataService<</span><span><span color="#a31515">"http://services.odata.org/Northwind/Northwind.svc/"</span></span></span></span><span face="Consolas"><span><span color="#000000">> <br></br></span><span><span color="#0000ff">let</span></span><span color="#000000"> db = Northwind.GetDataContext()</span></span></span></p><p><span color="#000000"><span>query { </span></span><span><span><span color="#0000ff">for</span></span><span color="#000000"> cat </span><span><span color="#0000ff">in</span></span><span color="#000000"> db.Categories </span><span><span color="#0000ff">do</span></span> <br></br></span><span face="Consolas"><span color="#000000"> select (cat.CategoryID, cat.CategoryName, cat.Description) } <br></br></span></span><span><span face="Consolas"><span color="#000000"> |> Seq.iter (</span><span><span color="#0000ff">fun</span></span></span></span><span face="Consolas"><span><span color="#000000"> (id, name, description) –><br></br></span></span></span><span face="Consolas"><span><span color="#000000"> printfn </span><span><span color="#a31515">"ID: %d\nCategory: %s\nDescription: %s\n"</span></span><span color="#000000"> id name description)</span></span></span></p>常用的几种数据源已有内置的类型提供程序了:OData 服务、数据库连接、数据库架构、通过实体数据模型指定的数据、Web 服务和资源文件。此外,类型系统是开放和可扩展的,这允许开发者以及第三方创建他们自己的提供程序。

其它新特性的简述:

  • 自动实现的属性允许属性没有后端存储
  • 参数帮助和增强智能感知
  • 为可空类型提供类库支持,包括转换运算符和算术运算符
  • 适用于国际单位系统(SI)的度量单位类型。这之前是放在 F# PowerPack 里的,现在已经归入 F#核心库了。

你可以在 MSDN 文档里查阅详情。你也可以从 CodePlex 下载 F# Sample Pack 查看这些特性。

F#是一种多范式编程语言,它针对.NET Framework,并贯彻了函数式编程命令式编程和面向对象编程的原则。

查看英文原文: F# 3.0 – LINQ + Type Providers = Information Rich Programming

2011-09-27 06:122267

评论

发布
暂无评论
发现更多内容

制造业4.0:AI与机器人如何重塑生产线

天津汇柏科技有限公司

机器人 制造业 AI 人工智能

淘宝直播间弹幕API接口(taobao.item_video_barrage)

tbapi

淘宝API接口 淘宝直播间弹幕接口 淘宝直播间数据接口 淘宝直播间弹幕API接口

JavaScript是按顺序执行的吗?聊聊JavaScript中的变量提升

不在线第一只蜗牛

JavaScript

批量重命名--我用火语言RPA写了个EXE可执行文件

火语言RPA

RPA 高效办公 批量重命名软件

仓库存储管理系统-贵金属(源码+文档+部署+讲解)

深圳亥时科技

程序员面试必备的Java八股文,适合所有的Java求职者!

Summer

Java 程序员 面试 架构师 大厂

工业 4.0 赋能 | TapData 诚邀制造行业技术伙伴,共享行业数字化、智能化市场新机遇

tapdata

智能制造 实时数据集成 动态排程 质量追溯

通过 TDengine 提升物联网平台性能的秘诀,联犀深度解析

TDengine

数据库 tdengine 时序数据库

解码“闺蜜机”的商业密码

脑极体

AI

AI口语考试APP的功能

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI口语练习

昇思市场份额将达30%,权威机构对中国AI框架市场最新预测

极客天地

阿里内部Spring Cloud Alibaba 手册, 面面俱到,太全了!

Summer

Java 程序员 面试 架构师 大厂

如何让 localStorage 数据实现实时响应

极限实验室

React LocalStorage web 开发

2.5 亿美元融资加速升级,从子网到 Avalanche9000,Avalanche 想要改变什么

TechubNews

客观看待“去测试化”的论调

老张

软件测试 自动化测试 QA 质量保障

陶建辉荣登 2024 福布斯中国新时代颠覆力创始人榜单,见证创新力量的崛起

TDengine

数据库 tdengine 时序数据库

北京理工大学鲲鹏昇腾科教创新孵化中心成立  打造教育、科技、人才融合发展新标杆

极客天地

阿里云大模型矩阵:千问&Qwen解锁多元智能

测试人

软件测试

2025 年低代码平台还存活哪些,低代码平台哪家强?

JEECG低代码

低代码 零代码 JeecgBoot 低代码平台比较 jeecg

百度安全获得中国信通院深度伪造视频检测服务评估优秀级

百度安全

F# 3.0 —— LINQ + 类型提供程序 = 富信息编程_.NET_Roopesh Shenoy_InfoQ精选文章