FSharp 3.0 开发者预览版

F# 入门(二):安装和使用 现在F#是VisualStudio2010默认的一部分,如果你已经装了VS2010,那么你可能已经装了F#。如果已经装了VS2010却没有看到F#,那么你要确认你装了F#安装包。可以通过控制面板中的添加/删除程序添加F#包(如下图): 如果你不是一个VS用户或者正在使用VS2008,那么你要下载单独的F#包,首选MSDN上的F#资源:http://msdn.microsoft.com/f 阅读详情

Visual Studio F# 团队很高兴地宣布作为Visual Studio 11 开发者预览版 的一部分:F# 3.0 预览版于2011年9月12号正式发布。

正常预览版发布将在9月15号。F# 编译器将继续作为一个独立的安装, 但是配置不作为预览版的一部分。

F#是一个强大、简洁、高效和易于表达的语言,能用简洁的代码帮您解决复杂的问题。F#是生产率加速器—越来越多的社区用它在不同领域来解决分析编程问题,例如贸易、金融、生物信息学、博客分析、广告以及能源市场。要了解更多关于F#,参考F# 开发者中心。

在F# 3.0中,将继续保持和扩大F#数据化编程,包括F# LINQ查询、F# Type Provider 机制,以及一系列专为企业和网络数据标准的内置Type Providers。

为什么F# 是数据化的编程呢?

F#数据化编程是大势所趋——在几乎每一个编程领域——为实现更强的数据、服务和信息的可用性。在科学技术、社交网络和经济领域数据量爆炸性增长着的现在,现代企业有着海量的数据,同时网络连接设备给消费者带来了丰富的数据体验和服务。F#数据化编程创建了一个信息处理框架,它不仅可以提取数据,还可以提取相关的元数据。这为我们在信息化世界里简化编程奠定了基础。

数据和服务集成化的语言

F# Type Provider 机制以强类型的方式从外部数据源中无缝地整合数据和服务。Type Provider是一个通常基于外部信息源架构来为您的程序提供新的类型和方法的组件。例如,SQL Type Provider将提供让程序员直接与任意的SQL数据库中的表进行交互工作的类型和方法。这些类型和方法可能取决于在代码或者配置文件中指定的参数。这使您可以直接集成外部信息空间到您的程序中。

易于表达的数据查询:

F# LINQ 查询能让F#在SQL 、OData和其他结构或相关数据源上建立强大的基于查询的编程。请参考MSDN文档和示例来获取更多的信息。

企业级的数据尽在指间

现在比以往任何时候都更容易获得许多重要的数据源,包括企业、Web和云,只需使用SQL数据库和网络数据协议的一些内置的type  providers即可实现。这些type  providers使得访问SQL数据库和像OData,WSDL这样的协议变得更容易、简单、统一、直观。仅仅使用两三行代码,您就可以访问和查询任何的SQL数据库――这样并不会对企业开发者失去意义。而且,这些代码都是强类型的且有IntelliSense的支持。

那么,这是怎么实现的呢?并不是直接为这门语言(F#)提供SQL的支持,而是创建一个可扩展的、简单的、可以被应用到许多其它的数据源(如OData,WSDL――译者加)的统一机制。

示例:连接SQL数据库

Type provider自动连接到数据库,并且使用数据库里的信息来提供IntelliSense以及类型信息(如数据库中的一些类,数据类型)。

替换图片01

LINQ 查询的简洁整合:

替换图片02

示例:链接到Nexflix OData Source

  #r "System.Data.Services.Client"

#r "FSharp.Data.TypeProviders.dll"

  open Microsoft.FSharp.Data.TypeProviders

  // Use the OData type provider toaccess the Netflix catalog.

  [<Generate>]

  type Catalog = ODataService<"http://odata.netflix.com/Catalog/">

  let netflix = Catalog.GetDataContext()

  // Query Netflix for all titlescontaining the word "Avatar"

  let allAvatarTitles =

    query {

      for t in netflix.Titlesdo

      where (t.Name.Contains "Avatar")

    }

  // Query Netflix for all peoplewhose name contains "Sheen"

  let allPeopleNamedSheen =

    query {

      for t in netflix.Peopledo

      where (t.Name.Contains "Sheen")

      sortBy t.Name

      take 10

    }

可扩展的,开放式的数据集成

Type Provider机制使得F#成为一种可扩展性和适应性很强的数据化的语言。对F#语言和工具来说,TypeProvider是一个强大的的扩展点:当前任何F#程序员(当然包括Visual Studio F#团队)可以整合一个广泛的信息空间和新兴的行业数据标准。随着时间的推移,我们期望看到一系列新的typeprovider 工程,例如:项目的样本,社区的项目,企业内部的使用工具,或产品,可以单独配置F#到特定的领域内使用。这样,不仅您将可以拥有使用SQL、OData和WSDL源(仅举几例)进行近无缝的编程体验,而且任何人都可以创建type provider应用于非SQL的数据,语义Web数据存储,社交网络图,科学数据存储库,SharePoint,WMI,数据流,以及高性能的云数据存储。

在这个过程中,我们没有忘记对细节的关注。例如,F# Type Provider也可以与F#的度量单位协同工作。这给你一个独特而强大的协同作用:丰富和精确的单元类型可以把SQL语言传播到网络数据库。我们对语言也做了一些小的补充,如自动属性。我们对F# Core 库增加了查询支持和SI单位。另外,我们一直关注实用性和规模:F# TypeProvider可以通过可选的删除符号,来为该类型极大地扩展类型和方法的空间。这在代表实体和一个非常大的数据库或在链接图的分类中尤为重要。

在Visual Studio中改善F#

我们也一直在提高Visual Studio中的语言工具。这包括更好的IntelliSense,提高quick info,未被使用的变量警告,和解决方案资源管理器 支持。另外,我们从通用的Visual Studio IDE增强功能中受益很多,例如一个改进的“查找”对话框,被简化过的工具栏,预览标签,更好的文档管理,以及运行时改善。

我们的.NET合作伙伴团队一直在.NET4.5上做基础的改进,在以前的版本就地更新。一些令人振奋的功能包括后台服务器的垃圾收集器,大型对象堆分配的改善,和跨多个处理器的堆分配的平衡支持。此外,异步任务的支持提供了一个统一的异步编程的模式并且提高了并行计算性能。

F#和Windows8

虽然F#被经常使用在客户端系统中的组件,F#的最天然的优势是作为前台办公和服务器端的语言。对于这个预览版,让F#支持如今这样一个信息化世界的编程已经成为F#团队的工作重点。在未来的几个月(尤其是在Beta阶段),我们将更多地讨论Windows8和F#的相关话题,虽然这不是这个预览版的重点。

资源

如果您现在正在使用预览版,我们期待着您的信息回馈。对于那些正在等待更正式的版本的读者,F# 团队鼓励您观看我们的视频,一些新的F#例子和我们新的MSDN文档。请继续参与F#的社会团体和论坛,以帮助理解,解释和传播我们所提供的。

在F#3.0中,我们的基本原则仍然是:用简单的代码来解决复杂的问题。如今这包括信息化编程,以支持我们信息化的世界。在F#2.0中,我们给您带来了解决复杂计算问题的最好的语言。现在我们荣幸为您带来最好的语言解决复杂的数据问题。

原文地址:http://blogs.msdn.com/b/fsharpteam/archive/2011/09/14/f-3-0-developer-preview-now-available.aspx

resharper-fsharp:JetBrains Rider中的F#支持 JetBrains Rider中的F#语言支持 Rider中的F#支持实现为由两个主要组件组成的插件: ReSharper.Host插件(称为backend ),它为ReSharper添加了F#支持,并在ReSharper.FSharp解决方案中实现。 ReSharper.Host是对ReSharper的修改,用作IntelliJ平台与之交互的语言服务。 后端用F#和C#编写。 Rider的IntelliJ Platform插件(称为frontend ),将F#定义为新的IntelliJ Platform语言,但将大部分工作委托给后端。 此部分还添加了F#Interactive支持。 前端是用Kotlin和Java编写的。 Rider中的F#支持使用开源软件,最著名的是和 。 构建插件 要求 或更高版本 选修的 或其他.NET IDE 构建插件并在沙箱中启动Rider 安装SD 立即下载

相关推荐

电芯外观及体系设计(Cell Design)-①容量平衡设计(Cell Balance Design)

全面获取并正确解读客户需求,将需求进行分解和预判,结合公司现有资源、技术,给出设计方案。一个优秀的电芯设计方案,应该是稳健的,可操作的,满足客户需求的同时,并能为公司带来较多利润。电芯设计需同时考虑周期,性能,品质,加工性,成本,及安全与稳健性。设计人员时刻要有成本控制观念,但利润则是由公司战略所决定。

FDC1303864002的博客 1352

Android Studio 3.0 Profiler 性能分析利器

1:Android Profiler的是使用流程: 1.点击工具栏的图标即可打开 在Android Profiler窗口的顶部,如图所示,选择设备①和你想要配置的app进程②当我们连接一个设备后,打开Android Profiles运行我们的应用程序时,它会默认选中我们的程序,Android Profiler显示如图1(图片来自官网): 如果我们连接了多个设备可以在按钮①的位置选择设备,通过按钮②的位置选择想要的app进程,工具最底部显示了一个时间轴,其中包含了CPU、内存和网络使用的实时...

qq_25815655的博客 981

暗黑破坏神2重制版 mod制作教程(一)

暗黑2重制版mod修改教程

hhhh2312的博客 7455

F#周报2019年第17期

新闻 .NET版本的Apache Spark Apache Spark预览版介绍 F# Apache Spark示例 微软Build 2019大会(5月6日至8日) Rider用于F#的解决方案内的重命名 Spark+AI峰会——开发智能云与智能边缘 CNTK最新的重大发布——2.7版本 四月在.NET Core 3.0上的WPF更新 Visual Studio 2019版本16.1预...

aixing8475的博客 153

DO-178C详解:机载软件开发、验证与适航标准指南

DO-178C将软件划分为五个等级(A到E),这些等级是基于失效状态对航空器安全的影响而定。

qq_41854911的博客 2849

(10)三相三绕组变压器的建模仿真

建立了三相三绕组变压器组的Simulink仿真模型,通过实例进行了仿真计算。

weixin_45670943的博客 1143

Windows PowerShell 会话中使用 FSharp 代码编译器

Windows PowerShell 会话中使用 FSharp 代码编译器   $fSharpCode= @" moduleTest   let HelloWorld =     "Hello World!!!!"   printfn "%s" HelloWorld     let rec Loop n =     seq [       if n

心想事成 1444

PHM 2010数据集解读

PHM数据挑战赛是一项面向所有潜在与会者的竞赛。今年的挑战集中在使用测力仪、加速度计和声发射数据估计高速数控铣床刀具的RUL上。 博客对PHM 2010数据集的组成和信号进行了可视化。

cnjs1994的博客 7648

FSharp.Data.Npgsql 项目教程

FSharp.Data.Npgsql 项目教程 1. 项目的目录结构及介绍 FSharp.Data.Npgsql 项目的目录结构如下: FSharp.Data.Npgsql/ ├── build/ ├── docs/ ├── src/ ├── tests/ ├── .gitignore ├── LICENSE ├── FSharp.Data.Npgsql.sln ├── README.md 目录...

gitblog_00296的博客 1185

Spring Boot:如何快速搭建一个高性能微服务架构?

通过本文的详细步骤,我们成功搭建了一个高性能的微服务架构。Spring Boot 和 Spring Cloud 提供了强大的工具链,使得开发者能够快速实现服务注册与发现、负载均衡、熔断器与降级机制等功能。同时,通过数据库连接池、Redis 缓存和异步处理等优化手段,进一步提升了系统的性能和可靠性。希望本文能够帮助你快速入门 Spring Boot 微服务架构的搭建,并为实际项目提供参考。如果你有任何问题或建议,欢迎在评论区留言!

shrgegrb的博客 1013

Qt | 开发过程中总结的经验

关于如何判断自己的Qt库是多少位,有个误区就是很多人要么看成了QtCreator的关于信息中列出的位数,要么以为自己是64位的系统就认为是64位的Qt,最终要在Qt构建套件中查看具体位数,大概从Qt5.14开始基本上很少提供32位的库,尤其是Qt6.0以后基本上默认就是只有64位的库了,这也是顺应时代潮流,毕竟不久的将来(个人预计2030年以前)基本上32位的系统占比不超过1%,放心大胆的用64位的库吧,抛弃烦人的32位以及XP系统。Qt常用类的头文件的函数看完学完使用一遍并加以融会贯通,月薪30K起步。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 491

《powershell 的版本所引起的加载 FSharp 编译器问题》基本解决

《powershell 的版本所引起的加载 FSharp 编译器问题》基本解决

心想事成 1479

【视频】GStreamer+WebRTC(九):使用NVIDIA硬编解码

2)下载 GStreamer-bad 插件包源码注意要下载和 GStreamer版本对应的插件包3)下载NVIDIA硬编解码SDK最新的SDK下载地址注意 GStreamer 1.24.2 中调用的 NVIDIA Video_Codec_SDK 不是最新的,先使用下面的方法,查看gst-plugins-bad-1.24.2.tar.xz 对应的NVIDIA Video_Codec_SDK 的版本是多少。

郭老二 263

初步解决《powershell 的版本所引起的加载 FSharp 编译器问题》

初步解决powershell 的版本所引起的加载 FSharp 编译器问题 《

心想事成 1144

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

FSharp.Data 程序集之 Http

FSharp.Data 程序集之 Http (** # F# Data: HTTP Utilities .NET 库提供了强大的 API,产生和发送 HTTP WEB 请求,有两个类型,一个简单,`WebClient`(参见 [MSDN][1]) ,另一个稍微复杂,`HttpWebRequest`,(参见 [MSDN][2]) 。然而,这两个类型的使用相当困难,如果只打算运行简单的

心想事成 2038

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ECC fsharp-reviewer 实战:Kiro 中面向安全与函数式惯用法的 F 代码评审 Agent

本文以 ECC 仓库中 [fsharp-reviewer Agent](https://link.gitcode.com/i/f791d010acff4b51466e8464bcbf6f65) 的 Kiro 配置为主体,完整拆解该评审 Agent 的触发流程、四级审查优先级(CRITICAL/HIGH/MEDIUM)、诊断命令与审批标准,并结合仓库中同名的 Claude Code 版 [Agent

gitblog_00032的博客 785

LiteDB.FSharp 使用教程

LiteDB.FSharp 使用教程 1、项目介绍 LiteDB.FSharp 是一个为 LiteDB 提供高级 F# 支持的库,它允许 LiteDB 理解 F# 类型,如记录、联合、映射等,并支持通过 F# 引用表达式进行类型安全的查询。LiteDB 是一个嵌入式的 NoSQL 数据库,适用于 .NET 平台。 2、项目快速启动 安装 首先,通过 NuGet 安装 LiteDB.FSharp 包...

gitblog_00266的博客 961

FSharp.Formatting 项目安装与配置指南

FSharp.Formatting 项目安装与配置指南 1. 项目基础介绍 FSharp.Formatting 是一个开源项目,它提供了一套用于处理 F# 脚本文件、Markdown 以及用于文档生成的组件。该项目的主要工具是 "fsdocs",可以用来生成优美的文档。它是由 F# 社区驱动的,是 F# 生态系统中的一个重要组成部分。 主要编程语言:F# 和 C# 2. 项目使...

gitblog_00814的博客 639

《powershell 的版本号所引起的载入 FSharp 编译器问题》基本解决

《powershell 的版本号所引起的载入 FSharp 编译器问题》基本解决 1、FSharp.Core.dll。不光要 Add-Type,还要在编译中引用。可是,在 VS2012 的环境下,就不须要引用,百思不得其解; 2、理顺了大部分系统引用的地址。 Function Compiler-FSharp([string] $fSharpCode,[Array]$...

weixin_33800463的博客 167

StockSharp Algo.Analytics.FSharp:用 F 编写 Hydra 分析脚本,从 K 线存储到图表输出的完整实现

StockSharp 的 `Algo.Analytics.FSharp` 项目是一组用 F# 编写的 Hydra 分析(analytics)脚本示例。每个脚本实现 `IAnalyticsScript` 接口,可以在 S# Designer 等提供 `IAnalyticsPanel` 的环境中被执行,完成“从本地存储读取历史 K 线 → 计算指标或统计量 → 以图表、表格、热力图或 3D 曲面输出”

gitblog_00982的博客 1007

F# 4.6 预览版正式公布

1月24日,F# 4.6 预览版正式公布,与以往一样,新版本的设计与开发过程是整个 F# 开源社区共同努力的结果,这次更新的具体讨论内容可以通过下面两个链接来查看: F# 4.6 意见征求记录 FSharp.Core 4.6.0 意见征求记录 这次更新的主要内容有: 匿名记录类型(Anonymous Records) ValueOption 模块 为 List,Array,Seq 新增的 t...

weixin_30677617的博客 121

VS启动GoogleTestRunner.vsix失败,错误:未能加载FSharp.Core 4.3.00

解决方案: 1)打开F#的包目录为: C:\Program Files\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0 将FSharp.Core.dll拷贝到系列2)的目录中。 2)GoogleTestRunner安装路径为: C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\14.0\Extensions中的一个子文件夹中。 =============

space01的专栏 353

Akka探索第一个例子by fsharp 1

如何构建一套分布式程序一直是我想知道的问题。 Akka就是一套用来开发分布式系统的开发库。当然开发分布式系统只是它的能力之一。除此之外高度抽象的并行运算能力,轻量级的消息系统,容错能力都是该库的特点。 首先一个重要的概念就是Actor,Akka系统用Actor来表达任务。Actor可以理解为是一个角色,我们通过消息来告诉他做什么事,而不是主动去控制他。既然他不受我们控制,那我们也不用100%的...

weixin_30699443的博客 97
下一篇: F# 2.0 & F#是什么
fsharp_net
博客等级 码龄15年 20粉丝 17原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值