F Sharp

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(指南)
(链接)
 
(未显示1个用户的132个中间版本)
第1行: 第1行:
 
{{SeeWikipedia|F Sharp (programming language)}}
 
{{SeeWikipedia|F Sharp (programming language)}}
  
F#(F sharp)是由微软发展的为[[.NET]]语言提供运行环境的程序设计语言,是函数编程语言(FP,[[Functional programming]]),函数编程语言最重要的基础是[[Lambda]] Calculus。它是基于[[OCaml]]的,而OCaml是基于ML函数程序语言,有时F#和OCaml的程序是可以交互编译的。F# 采用 Apache v2 许可协议。
+
F#
 +
 
 +
[[文件:IHeartFsharp.png|right]]
  
 
==简介==
 
==简介==
F#已经接近成熟,支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。
+
F#(F sharp)是由微软发展的为[[.NET]]语言提供运行环境的程序设计语言,是一门函数式编程语言(FP,[[Functional programming]]),函数式编程语言最重要的基础是[[Lambda]] Calculus。
 +
 
 +
F#和[[OCaml]] 是[[ML]]函数式编程语言的两种主要方言,有时F#和OCaml的程序是可以交互编译的。
 +
 
 +
F# 采用 MIT 许可协议。
 +
 
 +
==新闻==
 +
*根据 Stack Overflow 的数据,2018,薪酬排名前2的编程语言是 F#:$74,000 和 Ocaml:$73,000 (2018)
 +
*[http://www.infoq.com/cn/articles/fsharp-community-survey-2016 F#年度调查结果概述] (2016)
 +
 
 +
==功能==
 +
F# = Objects + Functional
 +
 
 +
Mixed OO/Functional Programming Has Won
 +
 
 +
*[http://fsharpforfunandprofit.com/why-use-fsharp/ Why use F#?]
 +
*[https://fsharpforfunandprofit.com/posts/fsharp-is-the-best-enterprise-language/ Why F# is the best enterprise language]
 +
 
 +
F#支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。
 +
 
 +
在早期,F#作为一门适合于金融和计算密集型的语言而闻名。
 +
 
 +
现在,F#既用于算法密集型应用程序,也用于主流业务应用程序。在算法密集型应用程序中,正确性至关重要,而主流业务应用程序则在很大程度上受益于F#支持领域建模并让非法状态不可达。
  
 
2002年微软开始由Don Syme带领研发F#,从[[C Sharp|C#]],LINQ和[[Haskell]]中获取了经验,2005年推出第一个版本,2007年7月31日释出1.9.2.9版。2007年底,微软宣布F#进入产品化的阶段。
 
2002年微软开始由Don Syme带领研发F#,从[[C Sharp|C#]],LINQ和[[Haskell]]中获取了经验,2005年推出第一个版本,2007年7月31日释出1.9.2.9版。2007年底,微软宣布F#进入产品化的阶段。
第11行: 第35行:
  
 
==版本==
 
==版本==
 +
有关 F# 的语言设计、语言规范和发行版本。
 +
*[https://docs.microsoft.com/dotnet/fsharp/language-reference/ F# Language Reference]
 +
*[https://fsharp.github.io/fsharp-core-docs/ F# Core API Reference]
 +
*[https://github.com/fsharp/fsfoundation/blob/gh-pages/specs/language-spec The F# Language Specification]
 +
*[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheat Sheet]
 +
*[https://docs.microsoft.com/dotnet/fsharp/style-guide/component-design-guidelines The F# Component Design Guidelines]
 +
*[https://github.com/fsharp/FSharpLangDesign F# Language Design RFCs]
 +
 +
===F# 6===
 +
*[https://learn.microsoft.com/zh-cn/dotnet/fsharp/whats-new/fsharp-6 F# 6 中的新增功能]
 +
 +
===F# 5===
 +
*[https://devblogs.microsoft.com/dotnet/announcing-f-5/ Announcing F# 5]
 +
 
===F# 4===
 
===F# 4===
 +
*[https://fsharp.org/specs/language-spec/4.1/FSharpSpec-4.1-latest.pdf The F# 4.1 Language Specification] [https://fsharp.org/specs/language-spec/4.1/FSharpSpec-4.1-latest.docx Docx文档]
 +
*[http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-4.0-latest.pdf The F# 4.0 Language Specification] [http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-4.0-latest.docx Docx文档]
 +
 
===F# 3===
 
===F# 3===
 +
*[http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-3.1-final.pdf The F# 3.1 Language Specification]
 +
*[http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-3.0-final.pdf The F# 3.0 Language Specification]
 +
 
===F# 2===
 
===F# 2===
===F# 1===
+
*[http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-2.0-April-2012.pdf The F# 2.0 Language Specification]
 +
*[http://www.infoq.com/cn/interviews/don-syme-fsharp-2_0-cn Don Syme谈F# 2.0——VS2010中的新晋头等公民]
 +
 
 +
The F# Language Design Process
 +
*[https://fslang.uservoice.com/ fslang.uservoice.com]
 +
*[https://github.com/fsharp/FSharpLangDesign F# RFCs]
 +
*[https://github.com/Microsoft/visualfsharp/pulls Pull Requests]
  
 
==指南==
 
==指南==
 +
*[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheatsheet]
 +
*安装设置 [[Mono]] 环境
 +
export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin
 +
运行REPL
 +
$ fsharpi
 +
> let sa2 = [ ("System", "C/C++/Go"); ("Application", "PHP/C#"); ("Analysis", "F#") ];;
 +
 +
==编程工具==
 +
*[[Xamarin]] Studio 和 [[MonoDevelop]]
 +
*[[Atom editor]]
 +
*[[Visual Studio Code]]
 +
*[http://ionide.io/ Ionide]
 +
 +
==语言相关==
 +
*[[F Sharp Compiler Service|F# Compiler Service]]
 +
*[https://github.com/FStarLang/FStar F*] 语言主要用于程序的形式化验证。
 +
 +
==指南==
 +
*可从 [https://github.com/fsprojects/FSharpCommunityTemplates FSharpCommunityTemplates] 开始F#的学习和应用的构建。
 +
 +
==领域建模==
 +
使用F#类型进行领域建模
 +
*[https://fsharpforfunandprofit.com/posts/designing-with-types-intro/ Designing with types]
 +
 +
==企业应用==
 +
[http://fsharp.org/guides/enterprise/ Enterprise Programming with F#]
 +
 +
==[[Data science|数据科学]]==
 +
*[http://fsharp.org/guides/data-science/ Data Science with F#]
 +
*[https://github.com/fslaborg FsLab] for Data Science and Machine Learning with F#
 +
*[https://github.com/nessos/Streams Streams] A lightweight F#/C# library for efficient functional-style pipelines on streams of data.
 +
*[http://fdatamining.blogspot.com/ F# and Data Mining] [https://github.com/fable-compiler/Fable F# to JavaScript Compiler]
 +
 +
==Web开发==
 +
[[文件:SAFE-Stack.png|right]]
 +
*[https://fsharp.org/use/web-apps/ Using F# for Web Applications]
 +
*[https://fsharp.org/guides/web/ Web Programming with F#]
 +
*[https://github.com/giraffe-fsharp/Giraffe Giraffe] A native functional [[ASP.NET Core]] web framework for F# developers.
 +
*[https://github.com/SAFE-Stack SAFE-Stack] [https://safe-stack.github.io/docs/awesome-safe-components/ SAFE-Compatible UI Components]
 +
*[[Suave]]
 +
*[https://fable-compiler.github.io/ Fable = F# to JS] F# |> BABEL
 +
 +
==移动游戏==
 +
*[https://fsharp.org/use/mobile-apps/ Use F# for Mobile App Development]
 +
*[https://github.com/bryanedds/Nu Nu Game Engine]
 +
*[https://github.com/TIHan/FQuake3 FQuake3] 雷神之锤III的F#实现
 +
*[https://neildanson.wordpress.com/2013/07/30/f-and-monogame/ F# and MonoGame] [[MonoGame]]
 +
*[https://github.com/SAFE-Stack/SAFE-Nightwatch React Native + SAFE]
 +
 +
==[[machine learning|机器学习]]==
 +
*[http://fsharp.org/guides/machine-learning/ Machine Learning with F#]
 +
*[http://fsharp.org/use/gpu/ Use F# for GPU Programming]
 +
*[http://quantalea.com/ Alea GPU] [[GPU]] Computing on .NET
 +
*[https://github.com/fsprojects/Vulpes Vulpes]: a Deep Belief Net written in F#, and using Alea.cuBase to access the GPU.
 +
*[https://github.com/sergey-tihon/Stanford.NLP.NET Stanford.NLP for .NET]
 +
 +
==[[cloud computing|云计算]]==
 +
*[https://fsharp.org/guides/cloud/ Cloud Programming with F#]
 +
*[[MBrace]]
 +
 +
==金融计算==
 +
*[[Financial technology]]
 +
*[http://www.tryfsharp.org/Learn/financial-computing Financial Computing with F#]
 +
*[https://github.com/bitcoinfs/bitcoinfs BitcoinFS] full node [[bitcoin]] implementation in F#
 +
*BCF#: bitcoin(bc), blockchain(bc)
 +
 +
==数学统计==
 +
*[http://fsharp.org/guides/math-and-statistics/ Math and Statistics Programming with F#]
 +
*[https://statfactory.github.io/Nov2015Slides/slides.html#/ Numerical Computing with F# and MKL]
 +
*[[Math.NET]]
 +
*[https://github.com/BlueMountainCapital/FSharpRProvider F# R Provider]
 +
 +
==数据库/数据访问==
 +
*[http://fsharp.org/guides/data-access/ Data Access with F#]
 +
*[http://fsharp.github.io/FSharp.Data/ F# Data: Library for Data Access]
 +
*[https://docs.microsoft.com/en-us/dotnet/articles/fsharp/tutorials/type-providers/index F# Type Providers]
 +
*[https://github.com/fsprojects/SQLProvider SQLProvider]
 +
*[https://github.com/nessos/GpuLinq GpuLinq] Democratizing GPGPU programming through [[OpenCL]] and LINQ.
 +
 +
==跨平台GUI==
 +
*[https://fsharp.org/use/desktop-apps/ Using F# for Desktop Apps]
 +
*[https://github.com/fsprojects/Avalonia.FuncUI Avalonia FuncUI] Develop cross-platform MVU GUI Applications using F# and Avalonia! [https://avaloniacommunity.github.io/Avalonia.FuncUI.Docs/ Docs]
 +
*[https://github.com/ionide Ionide]
 +
*[https://fsprojects.github.io/Fabulous/ Fabulous] Fabulous.[[Xamarin.Forms|XamarinForms]]
 +
 +
==异步编程==
 +
*[https://docs.microsoft.com/zh-cn/dotnet/articles/fsharp/language-reference/asynchronous-workflows F# Asynchronous Workflows]
 +
*[https://msdn.microsoft.com/zh-cn/library/hh156513.aspx C# Async]
 +
 +
==项目==
 +
[[文件:FSharp-logo.png|right|F#]]
 +
*[https://github.com/fsprojects/awesome-fsharp Awesome F#] [[image:awesome.png]]
 +
*[https://github.com/fsharp F# @ GitHub]
 +
*[https://github.com/fsprojects F# Community Project]
 +
*[https://github.com/trending/fsharp Trending F# repositories on GitHub]
 +
*[https://github.com/fsharp/fsharp F# Compiler, Core Library & Tools]
 +
*[https://github.com/fsharp/FAKE FAKE] F# Make
 +
*[https://github.com/fsharp/FSharp.Compiler.Service F# Compiler Service] The F# compiler as a component.
 +
*[https://github.com/fsprojects/llvm-fs llvm-fs] An F# binding for [[LLVM]]
 +
*[https://github.com/Microsoft/visualfsharp Visual F# compiler and tools]
 +
*[https://github.com/Microsoft/visualfsharpdocs Visual F# Documentation]
 +
*[https://github.com/fsprojects F# Community Project Incubation Space]
 +
*[http://mbrace.io/ MBrace]是一种使用F#及C#进行脚本编写与编程,适用于高伸缩性云计算的编程模型。
 +
*[https://github.com/SuaveIO/suave Suave] 一个面向F#的Web服务器和开发库 [http://www.infoq.com/cn/news/2016/01/suave-interview 与Henrik Feldt谈论Suave 1.0]
 +
*[https://github.com/fsprojects/generator-fsharp generator-fsharp]
 +
*[https://github.com/SyncToday/synctoday2015 Sync.Today 2015] .NET Business Processes Automation Platform
 +
*[http://fslab.org/ FsLab]
 +
*[http://websharper.com/ WebSharper] is the #1 choice for F# web applications,同时也支持 [[C Sharp|C#]] web applications. 背后公司:[https://github.com/intellifactory IntelliFactory] [http://cloudsharper.com CloudSharper]
 +
*[https://github.com/TIHan/FQuake3 FQuake3] An attempt to re-implement id Software’s Quake III Arena in F#.
 +
*[https://github.com/tpetricek/FSharp.Formatting F# Formatting]
 +
 +
==案例==
 +
*[https://tech.jet.com/blog/2015/03-22-on-how-jet-chose/ On how Jet chose F#] [https://github.com/jet Jet @ GitHub]
 +
*[http://fsharp.org/testimonials/ Testimonials and Quotes]
 +
*[https://www.credit-suisse.com/cn/sc.html 瑞信] [http://fsharp.org/testimonials/#credit-suisse-abstract Quantitative Finance in F#] [http://docs.huihoo.com/cufp/2004-2008/2006/slides/HowardMansell.pdf Why FP matters to Credit Suisse]
 +
*[http://www.gamesyscorporate.com/ GameSys] [http://fsharp.org/testimonials/#yan-cui F# @ Social game]
 +
*[https://www.grean.com/ Grean - Know Your Customers] [http://fsharp.org/testimonials/#goswin-1 At Grean, we’ve just launched our third commercial product built on F#] switched from C# to F# over 3 years ago, after working in C# for about 7 years,  working in F# is very enjoyable.
 +
 +
==文档==
 +
*[http://docs.huihoo.com/fsharp/fsharp-presentations/2016-12-11-ctos/data-programming-cloud-nirvana-v1.pptx Data, Programming, Cloud]
 +
*[http://docs.huihoo.com/fsharp/fsharp-presentations/2016-07-11-fringe/fsharp-relaxation-given.pptx The F# Path to Relaxation]
 +
[http://docs.huihoo.com/fsharp/fsharp-presentations/ 更多幻灯片>>>]
 +
 +
==图书==
 +
*[https://en.wikibooks.org/wiki/F_Sharp_Programming F# Programming]
 +
*F# Programming 中文计划
 +
*[http://book.huihoo.com/dotnet/fsharp-for-fun-and-profit.pdf F# for fun and profit]
  
 
==图集==
 
==图集==
 
<gallery>
 
<gallery>
 
image:fsharp-compiler-phases.png|F#编译器
 
image:fsharp-compiler-phases.png|F#编译器
 +
image:fsharp-compiler-contributions.png|F#编译器贡献
 +
image:language-async-leve1-to-level3.png|Async
 +
image:fsharp-data-science-with-fsLab-and-ionide.png|数据科学
 +
image:FsLab.png|FsLab
 +
image:fsharp-finance-data.png|金融数据
 +
image:Xamarin-Studio-F-Sharp.png|Xamarin Studio
 +
image:fsharp-community-2015.png|F#社区2015
 +
image:safe-component-saturn.png|SAFE集成Saturn
 +
image:safe-component-elmish.png|SAFE集成Elmish
 
</gallery>
 
</gallery>
  
第27行: 第213行:
 
*[https://github.com/fsharp F# @ GitHub]
 
*[https://github.com/fsharp F# @ GitHub]
 
*[https://fsharp.github.io/ The F# Core Engineering Group]
 
*[https://fsharp.github.io/ The F# Core Engineering Group]
 +
*[http://fsharpconf.com/ fsharpConf] - The F# Community Virtual Conference
 +
*[https://msdn.microsoft.com/visualfsharpdocs/conceptual/fsharp-language-reference F# Language Reference]
 +
*[https://msdn.microsoft.com/visualfsharpdocs/conceptual/fsharp-core-library-reference F# Core Library Reference]
 
*[http://ionide.io/ Ionide]
 
*[http://ionide.io/ Ionide]
*F# 设计者: 微软研究院 [https://github.com/dsyme Don Syme]
+
*F# 设计者: 微软研究院 [https://github.com/dsyme Don Syme] [https://blogs.msdn.microsoft.com/dsyme/ 博客]
 +
*[https://www.microsoft.com/en-us/research/project/f-at-microsoft-research/ F# at Microsoft Research]
 +
*[http://www.pinksquirrellabs.com/ Delusional software ramblings]
 +
*[http://tomasp.net/ Tomas Petricek's blog]
 +
*[http://fsharpworks.com/ fsharpWorks]
 +
*[http://fsharpforfunandprofit.com/ F# for fun and profit] [https://www.gitbook.com/book/swlaschin/fsharpforfunandprofit/ F# for Fun and Profit eBook]
 
*[http://docs.huihoo.com/fsharp/fsharp-presentations/ F# 幻灯片]
 
*[http://docs.huihoo.com/fsharp/fsharp-presentations/ F# 幻灯片]
 +
*[http://www.infoq.com/cn/FSharp F# 在InfoQ上的内容]
 +
*[http://tsunami.io/ Tsunami] an embeddable desktop F# IDE
 +
*[http://www.tryfsharp.org/ Try F#] for learning F# in your browser
 +
*[https://channel9.msdn.com/Events/FSharp-Events/fsharpConf-2016/Cassandra-Docker-and-F-Awesomeness Cassandra, Docker and F# Awesomeness]
 +
*[https://philtomson.github.io/blog/2014/05/29/comparing-a-machine-learning-algorithm-implemented-in-f-number-and-ocaml/ Comparing a Machine Learning Algorithm Implemented in F# and OCaml]
  
 
[[category:.NET]]
 
[[category:.NET]]
[[category:Programming language]]
+
[[category:programming language]]
[[category:Functional programming]]
+
[[category:functional programming]]
 +
[[category:numerical analysis]]
 +
[[category:financial]]
 +
[[category:F Sharp]]
 +
[[category:OCaml]]
 +
[[category:ML]]
 +
[[category:lambda]]
 +
[[category:Huihoo Foundation]]

2024年8月22日 (四) 00:48的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 F Sharp Thanks, Wikipedia.

F#

IHeartFsharp.png

目录

[编辑] 简介

F#(F sharp)是由微软发展的为.NET语言提供运行环境的程序设计语言,是一门函数式编程语言(FP,Functional programming),函数式编程语言最重要的基础是Lambda Calculus。

F#和OCamlML函数式编程语言的两种主要方言,有时F#和OCaml的程序是可以交互编译的。

F# 采用 MIT 许可协议。

[编辑] 新闻

  • 根据 Stack Overflow 的数据,2018,薪酬排名前2的编程语言是 F#:$74,000 和 Ocaml:$73,000 (2018)
  • F#年度调查结果概述 (2016)

[编辑] 功能

F# = Objects + Functional

Mixed OO/Functional Programming Has Won

F#支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。

在早期,F#作为一门适合于金融和计算密集型的语言而闻名。

现在,F#既用于算法密集型应用程序,也用于主流业务应用程序。在算法密集型应用程序中,正确性至关重要,而主流业务应用程序则在很大程度上受益于F#支持领域建模并让非法状态不可达。

2002年微软开始由Don Syme带领研发F#,从C#,LINQ和Haskell中获取了经验,2005年推出第一个版本,2007年7月31日释出1.9.2.9版。2007年底,微软宣布F#进入产品化的阶段。

F#已被集成在Visual Studio 2010中,版本是2.0,含有对.Net Framework的完全支持。

[编辑] 版本

有关 F# 的语言设计、语言规范和发行版本。

[编辑] F# 6

[编辑] F# 5

[编辑] F# 4

[编辑] F# 3

[编辑] F# 2

The F# Language Design Process

[编辑] 指南

export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin

运行REPL

$ fsharpi
> let sa2 = [ ("System", "C/C++/Go"); ("Application", "PHP/C#"); ("Analysis", "F#") ];;

[编辑] 编程工具

[编辑] 语言相关

[编辑] 指南

[编辑] 领域建模

使用F#类型进行领域建模

[编辑] 企业应用

Enterprise Programming with F#

[编辑] 数据科学

[编辑] Web开发

SAFE-Stack.png

[编辑] 移动游戏

[编辑] 机器学习

[编辑] 云计算

[编辑] 金融计算

[编辑] 数学统计

[编辑] 数据库/数据访问

[编辑] 跨平台GUI

[编辑] 异步编程

[编辑] 项目

F#

[编辑] 案例

[编辑] 文档

更多幻灯片>>>

[编辑] 图书

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱