说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

F#是什么语言

HTML文档下载 WORD文档下载 PDF文档下载
F#是由微软发展的为微软.NET语言提供运行环境的程序设计语言。它是基于Ocaml的,而Ocaml是基于ML函数程序设计语言的。 这是一个用于显示.NET在不同编程语言间互通的程序设计。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。
F#语言交互式设计窗口
如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。
在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。
我们先来看其简单简洁的句法:
  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。
  let data = (1,2,3)
  let rotations (x, y, z) =
  [ (x, y, z);
  (z, x, y);
  (y, z, x) ]
  let derivative f x =
  let p1 = f (x - 0.05)
  let p2 = f (x + 0.05)
  (p2 - p1) / 0.1
  let f x = 2.0*x*x - 6.0*x + 3.0
  let df = derivative f
  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)
  其运行结果为:“The derivative of f at x=4 is 10”。
  
  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。
  let http url =
  async { let req = WebRequest.Create(Uri url)
  let! resp = req.AsyncGetResponse()
  let stream = resp.GetResponseStream()
  let reader = new StreamReader(stream)
  let! contents = reader.AsyncReadToEnd()
  return contents }
  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]
  let htmlOfSites =
  Async.Parallel [for site in sites -> http(site)]
  |> Async.RunSynchronously
  以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

F#是一个基于.NET框架的多模式编程语言、是一种.NET平台上的函数式编程语言、更是一个高效的.NET程序语言。就像C#和VB.NET,F#可以利用.NET的核心类库,如WPF,WCF,VSTO等等,通过F#您甚至可以使用XNA编写XBox游戏。仅仅如此并不意味着您应该去学习它。那为何要使用F#呢?作为一种函数式编程语言,F#使得某些领域的编程要比命令式编程(如使用C#)更为容易。并行编程(Parallel Programming)和面向语言编程(Language-Oriented Programming)是其中的两个领域。

 

 

F#语言交互式设计窗口

如果您曾经编写过.NET应用程序,并感觉自己在努力使用手头的语言表达自己的想法,也许F#就是您在寻找的。F#主要是由Microsoft Research 和 Visual Studio 小组协作开发的,并采纳了F#社区和一些主要使用者的意见。F#为Visual Studio 2010带来了很大的改观。因为替代了局部程序中的元组使工作变的简单了。在异步编程和强类型对于浮点编码方面也提供的不错的解决方式。可以说F# 是Visual Studio 2010中结合了众多优点的编程语言。

在F#中函数可以被视为值,可以传递给其他函数,你可以方便地编写高阶函数;F#支持组合式编程,你可以通过使用简单的操作符语法来组合函数;F#提供了支持函数式编程风格的类型,如针对简单数据集合的元组和针对结构化符号数据的discriminated unions;F#提供了许多不可变的数据结构,如不可变的列表、映射、集合、序列和记录等;F#支持异步编程,并且提供了使这种编程比以往更容易的结构;Visual F#中还包括了一个F#解释器,F#互动器(fsi.exe),它能够以交互方式编译并执行代码;F#支持延迟计算,这可以使您直到需要结果时才进行计算;F#支持面向对象语言特征,除了让您使用F#语言开发.NET框架API外,这种特征可以使F#程序能够充分地访问.NET框架。当然除此以外,F#还支持如面向对象语言特征,支持命令式编程结构,支持数学计算等特性。在VS2010中F#除了特征广泛外,它的特点还包括比如说简单简洁的句法、并行和异步的编程。

我们先来看其简单简洁的句法:

  F#像C#一样,是一种强制型的语言。但是我也可以使用类似在Python中那样的方式。既轻量级的,灵活的,数学类的编程方式。

  let data = (1,2,3)

  let rotations (x, y, z) =

  [ (x, y, z);

  (z, x, y);

  (y, z, x) ]

  let derivative f x =

  let p1 = f (x - 0.05)

  let p2 = f (x + 0.05)

  (p2 - p1) / 0.1

  let f x = 2.0*x*x - 6.0*x + 3.0

  let df = derivative f

  System.Console.WriteLine("The derivative of f at x=4 is {0}", df 4.0)

  其运行结果为:“The derivative of f at x=4 is 10”。

 

  在并行和异步编程上,.NET Framework 4 和Visual Studio 2010中,包含了一个关于并行程序开发的庞大文档和工具库。F#提供了一种强健的编程模式和灵活优秀的功能,使这些显现的更为直观。最为重要的是,我们可以在过去习惯了的线性编程模式下进行异步编程。

  let http url =

  async { let req = WebRequest.Create(Uri url)

  let! resp = req.AsyncGetResponse()

  let stream = resp.GetResponseStream()

  let reader = new StreamReader(stream)

  let! contents = reader.AsyncReadToEnd()

  return contents }

  let sites = ["http://bing.com"; "http://microsoft.com";"http://msdn.com"; "http://msnbc.com"]

  let htmlOfSites =

  Async.Parallel [for site in sites -> http(site)]

  |> Async.RunSynchronously

以上就是Visual Studio 2010中F#语言简单介绍,在使用过程中肯定会有更多的体验。

 

 

禁止使用 Alt-Tab 或 Ctrl-Alt-Del -VB资料 控制光驱门的开关 -VB资料 VB利用 窗口函数监视系统的运行情况(VB类) VB判断是否在VB5环境下运行 VB判断一个32位程序是否结束 VB判断一个程序启动完成(不是结束) 屏蔽TextBox的系统菜单 -VB资料 启动时禁止装入 Add-Ins -VB资料 让Timer控件每5分钟触发一次事件 -VB资料 让程序启动快一点 -VB资料 VB如何调用系統的【查找】、【替换】的对话框? VB如何动态新增、移除 ODBC DSN? VB如何读取 Picture 内任何一点的颜色值? VB如何获取硬盘卷标、序列号和文件系统类型? VB如何判别程序是在Win95或NT下执行? VB如何启动控制面板? VB如何取得磁盘序列号? VB如何让Window不接受键盘输入及Mouse Click VB如何让程序拥有多个热键? VB如何让用户自行输入方程式,并计算其结果? VB如何使程序不在Ctrl+Alt+Del弹出的对话框内? VB如何使用 VB 编写自动反安装的程序? VB如何用VB建立快捷方式 VB如何用VB在桌面建立快捷方式 VB如何在 VB 中控制 Modem 行为? VB如何在VB中判断Windows9x的运行模式 VB如何在Visual Basic中实现异步执行程序 VB如何在开机时自动更换墙纸? 使回车具有 Tab 的功能-VB资料 输入时,自动转换成小写? -VB资料 显示多媒体信息 -VB资料 我在倒入数据时候出现错误(请回答) Solaris下如何使用USB存储器? 字符 "10"与"2"的排序问题? 各位帮我看看为什么关闭不可以那? 图像处理的高手请进:jpg的分割与组合问题? 请问:APPLET中如何调用一小段MPEG格式的VIDEO? html页面上的透明传输 如何得到winxp中的拨号上网密码 OpenGL与内存设备环境 如何在windows2000下安装apache服务器? 请问谁能帮我把linux里网卡芯片w89c940的驱动源程序提取出来?? html页面上的透明传输 C# webform的简单问题,如何关闭窗口 新手上路,Jb8的小问题 100分求购 经常看到说ADO很好的帖子,但是还是有一些疑惑,望高手赐教 用VC编写NetDDE程序,怎样设定客户程序连接服务器时的密码? 怪问题,请大虾帮忙!!!! 请问要学习数据库系统设计应该看那些资料? 急:高分求助关于jdbc连接MySQL数据库的问题. 如何用javascript来检测机器上是否安装word2000?请给点代码提示,先谢谢了 在本地机器上测试邮件发送 使用treeview数据库绑定,能不能绑到一个子节点下? 关于给目录树的子菜单再增加下层菜单的问题 要访问mysql数据库中排列在最前面的5条数据,怎么班? 高分征求 SQL SERVER 数据库的冗余、负载均衡的解决方案? 无法从硬盘安装Redhat9,大家帮帮我 Delphi7中安装上自己编写的控件后出现的问题??? 求助 100分深情大奉送!! 请教各位高手帮忙是关于EOT的??? 到底怎么用存储过程?是不是在查询分析器中使用? 到底怎么用存储过程?是不是在查询分析器中使用? 串口问题!!! behavior:url(#default#userData)的问题!马上给分。 如何得到所有用户表的表名?(在线等候) 怎么让打开的EXCEL文档自动到某一工作表?? 如何分别取得字符串中空格前和空格后的数据呢?如‘dfds df fds'分为dfds df fds. 谁知道MSWord的文件格式? 怎样给自定义函数设置多个参数项? 在URL地址栏中传递字符串参数遇到的一个问题??? 如何在繁體下打開簡體文件名的文件?要求不能用改名的辦法 插入数据到数据库! 高手关注--------送分-----------急急急! 在ASP中如何编程建立索引服务的编录及目录? 在web server application把MEMO字段中带格式(RTF)的内容转换成纯文本? 请问在身份验证中,能否有两个login.aspx??? 急~那篇给vb控件打包文件添加数字签名以便浏览器浏览的那篇文章在哪里? 用vb如何实现模拟雷达界面??欢迎赐教! 如何用CSS控制INPUT的输入外观不是立体的,而看起来是平板的样子,只有一个边线? 用户注册的问题,密码总验证不对,能不能看看错在哪里? 如何使文本框只显示下面的边框? 高一化学有机题,急求一种气态烷烃和一种烯烃的混合物9克,其密度是相同条件下氢气密度的11.25倍,当混合气体通过足量溴水时,溴水增重4.2克,求这两种气态烃.某烃的相对分子质量156,在四 ∫ 2x arc cotx dx 的积分是?高数课程……可惜数学白痴不懂 如图所示,AD是△ABC的中线,过C,B分别作AD及AD延长线的垂线CF,BE,垂足分别为F,E.求证:BE=CF. 将11.2L(标准状况)乙烯和乙烷的混合气体通入足量的溴的四氯化碳溶液中,充分反应后,溴的四氯化碳溶液质量增加了5.6g.求原气体混合物中乙烯和乙烷的物质的量之比和质量比. 小学四年级《白鹅》谁有原文我现在需要小学四年级《白鹅》的课文,谁有,给我谢谢了,不要教案或是课文分析只要原文就行了. 在△ABC中,AD为△ABC的中线,DG为AD的延长线,BE⊥AD,CF⊥AG,垂足分别为E,F.求证:BE=cf 在直角三角形ABC中,斜边BC=4,则AB的平方+AC的平方+BC的平方的值是多少? 高一化学有机题A是分子式为C7H8的芳香烃,已知它存在以下一系列转化关系,如图,C为一种一元醇D是A的对位一溴代物,H与E、I与F分别互为同分异构体:(1)化合物I的结构简式是——,反应B到C的化 已知一个三角形的两边分别是10和7,则第三边上的中线取值范围是多少? 3题 紫光檀好吗 已知三角形两边长分别为10和4,那么第三边上的中线长m的取值范围是? 1000m= ( )km? 在直角坐标平面中,X轴上的点M到定点A(2,-4)B(1,-2)的距离分别为MA和MB当MA+MB取最小值时点M的坐标为----(只要写答案, 已知三角形的两边分别长10和4,那么第三边上的中线长a的取值范围是?拜托了各位 谢谢 CAD直线怎么垂直到斜线如图 除了用最近点捕捉,我没法捕捉到垂直的这条线 .红色部分怎么才会有捕捉 C语言 电文破译 题目和我编写的程序如下,请大神指出我错在哪里,并改正,答得好的追加.Description有n行电文,每行电文都已按下面规律译成密码:即第1个字母变成第26个字母,第2个字母变成第25 角的平分线上的点到角两边距离相等,请求讲解 求一份人物以及动物的走跑跳运动规律,用PS和FLASH,都可以,要动画.急 马小虎在计算17×﹙□﹣9﹚时,将题目错看成17×□﹣9.他得到的结果与正确答案相差多少 已知集合A={x|x^2-4mx+2m+6=0}集合B={x|x CAD如何做一条线段的端点的垂线 如右图,在三角形ABC中,BC=3BD,三角形BDE的面积是三角形ABC的面积的十二分之一,则BE是AB的几分之几? 爱心的作文 200子 2小时 若a²-2a+1的算术平方根是1-a,则a的取值范围是_____. 怎么把2个三角函数化成一个三角函数前面的系数怎么凑的? 一篇描写爱的作文 200多 跟老师,同学,父母,长辈等,的爱 .一篇200多的作文 关于高一化学摩尔方面问题比较0.5mol N2和0.5molCO 下列物理量相同的是1分子数目 2原子的物质的量 3质量 4电子数目 5质子的物质的量 6标准状况下的体积A123 B246 C1234565 D全部 太阳出来绿莹莹,双手搂起地球村.植树减排两手抓,蓝天要高山要青.读了这句诗,你懂得了什么.好的我另加分. 导师说,理论上能上,导师回邮件,理论上能上?怎么办呢====地理学 如图:AC长80km,CD长120km,DB长100km甲在A点,于AB之间来回走动,乙在C点,顺着长方形C-E-F-D走动.已知甲速5千米每时,乙速4千米每时,问:甲第一次从背后追上乙所在的地点,距离D点多少米? D、E分别为BC、AB的中点,则三角形BDE的面积是三角形ABC的面积的几分之几 小学语文课本白鹅课文的好词 一组数据用散点+均值线+在均值横线上的误差线,这统计图叫什么名称?graphpad里可以选, excel能不能做?如图红色箭头所示,这种图叫什么名称?excel可以做吗?像这样的图,excel可以做吗?这种统计图 tan110°转化为0°-45°之间的三角函数 一个圆内两根弦AB、CD相交于点O,求证三角形AOD相似于三角形BOC. 这两题怎么写? 十五夜望月前两句写景不带一个“月”字,却暗写了诗人望月,从哪里可以看出? 在面积为2的平行四边形ABCD中,点E,F,G,H,分别是AB,BC,CD,DA的中点,连接AF,BG,CH,DE得到的是平行四边形MNPQ,求它的面积.要画图.鸡鸡鸡鸡鸡鸡! 世界1000m纪录是多少? 十五夜望月前两句写景,不带一个月字 已知AT为三角形ABC的内角平分线,M为BC的中点,ME平行AB于D,交CA的延长线于E,求证:BD=CE要不然睡不了觉了 大学高数∫3x√(1-x^2)dx 十五夜望月中,前两句写景,不带一个“月”字,我们却可以从什么一词中看出月色的空明皎洁,这两句诗描...十五夜望月中,前两句写景,不带一个“月”字,我们却可以从什么一词中看出月色的空 △ABC中,M为BC中点,AT平分角BACME∥AT,交CA的延长线于E求证:BD=CE 英语在初二以上比较好的人进找出错误的句子并改正_, 1 I like your trouser .where did you get it ? 2 i don'tlike mice.i'm afraid of them . 3 a lot of people watch television every day. 4 we had a lovely weather when we were on holi 《十五夜望月》思想感情,感情基调,表达方式,写景作用 已知三角形三边分别是m,m-1,m+1,求m的取值范围 求此题答案, 设a.b.c是三角形ABC的三边,若a.b.c成等比数列,且c=2a,则cosB是? 已知AT为三角形ABC的内角平分线,M为BC的中点,ME平行AT交AB于D,交CA的延长线于E,求证:BD=CE 2.371kg等于1000m 37.52等于多少m 三角形ABC的对边分别是a.b.c ,若abc成等比数列,且 c=2a 则 cosB=? 白鹅这篇文章从几个方面写白鹅? 那些动物是卵生的蛇是卵生的 直线l与圆O相交于A,B两点,且与半径OC垂直,垂足为H,已知AB=16cm,cos∠OBH=4/5 求圆O的半径 已知三角形三边长风别是m,m-1,m+1,求m的取值范围 几个高一化学有机题1. 某有机物12g完全燃烧,生成7.2gH2O和8.96LCO2(标准状况下),0.5mol此有机物的质量为30g.(1)求分子式 (2)又知此有机物具有弱酸性,能与金属钠反应,也能与碱溶液反应,试 如图在三角形ABC中,AB=AC,D是BA上一点,求证:AB>1/2(BD+DC) 如图 已知AD为三角形ABC的中线,且CF垂直于AD于点F,BE垂直AD,交AD的延长线于E,求证,BE=CF “泰拳王”与“中国功夫王”见面会上大国考报名结束:37职位报名比例超10厉以宁称征遗产税不应急:中国老人有多河北“自锯病腿”农民顺利手术 预计1杭州临安警方破获特大涉毒涉枪案 缴获流浪女杭州诞下龙凤胎 父母发怒:不会90后女孩爱上有妇之夫 逼男子离婚被男子吃药后感觉自己不男不女 见情侣亲女子相亲时是弟弟洞房成哥哥 5年后提河北自锯病腿患者昨日在医院手术 约十杭州地铁3号线 为啥短了十公里(图)杭州发现外来有害生物福寿螺 对生态环冷空气吹开雾霾带来降温 昨天白天杭州\"流浪女诞龙凤胎\"续:父母很恼火台风吹高的菜价开始回落了 花菜走下坡台风“菲特”过后 完善农业保险成为焦事成于气正 业兴于风清 浙江开展正风金华市金东区换届试点中查处3起贿选案杭州市委常委会专题研究三季度经济形势明治奶粉宣布撤出中国大陆市场韩国抗议日本“竹岛宣传片”北影新校花卖萌私密照曝光(组图)杨幂刘恺威陈晓赵丽颖郑爽张翰 明星假乌克兰动荡的影响分析:欧盟攻克俄罗斯港报:中国高层周边外交新理念续发力 切实肩负起新形势下党赋予的神圣使命成都1月份单位存款减少 个人存款增加英国女王将为新航空母舰命名 造价62北京蚁族聚集地唐家岭改造拆迁仅剩不到财政部简政放权不忘管放结合安徽芜湖市召开第六次归侨侨眷代表大会沪行政处罚限额将调至20万 严重违法日本“求爱”企鹅追赶饲养员 走红视频美陆军总长访华:中美共同点很多 中日浙江省民政厅关于拟推荐第二次全国和谐韩国一名海归因找不到工作自杀 留学中成都青羊区图书馆宽巷子分馆开馆春运24日结束 成都春运客流还将持续新疆人大代表建议 立法规范高层建筑消女大学生被杀抛尸 台湾警方怀疑她被多杨扬:在我们那个时代 刘秋宏当旗手想长沙县工商局组织全县10家驰名商标企
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘