F Sharp

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(移动游戏)
(版本)
 
(未显示1个用户的74个中间版本)
第1行: 第1行:
 
{{SeeWikipedia|F Sharp (programming language)}}
 
{{SeeWikipedia|F Sharp (programming language)}}
  
 +
F#
 +
 +
[[文件:IHeartFsharp.png|right]]
 +
 +
==简介==
 
F#(F sharp)是由微软发展的为[[.NET]]语言提供运行环境的程序设计语言,是一门函数式编程语言(FP,[[Functional programming]]),函数式编程语言最重要的基础是[[Lambda]] Calculus。
 
F#(F sharp)是由微软发展的为[[.NET]]语言提供运行环境的程序设计语言,是一门函数式编程语言(FP,[[Functional programming]]),函数式编程语言最重要的基础是[[Lambda]] Calculus。
  
 
F#和[[OCaml]] 是[[ML]]函数式编程语言的两种主要方言,有时F#和OCaml的程序是可以交互编译的。
 
F#和[[OCaml]] 是[[ML]]函数式编程语言的两种主要方言,有时F#和OCaml的程序是可以交互编译的。
  
F# 采用 Apache v2 许可协议。
+
F# 采用 MIT 许可协议。
 
+
[[文件:IHeartFsharp.png|right]]
+
  
 
==新闻==
 
==新闻==
 +
*根据 Stack Overflow 的数据,2018,薪酬排名前2的编程语言是 F#:$74,000 和 Ocaml:$73,000 (2018)
 
*[http://www.infoq.com/cn/articles/fsharp-community-survey-2016 F#年度调查结果概述] (2016)
 
*[http://www.infoq.com/cn/articles/fsharp-community-survey-2016 F#年度调查结果概述] (2016)
  
==简介==
+
==功能==
F#已经接近成熟,支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。
+
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#作为一门适合于金融和计算密集型的语言而闻名。
第24行: 第35行:
  
 
==版本==
 
==版本==
有关F#的语言设计、语言规范和发行版本。
+
有关 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]
  
[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文档]
 
*[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文档]
  
第38行: 第60行:
 
*[http://docs.huihoo.com/fsharp/language-specification/FSharpSpec-2.0-April-2012.pdf The F# 2.0 Language Specification]
 
*[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中的新晋头等公民]
 
*[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#") ];;
  
 
==编程工具==
 
==编程工具==
第44行: 第79行:
 
*[[Visual Studio Code]]
 
*[[Visual Studio Code]]
 
*[http://ionide.io/ Ionide]
 
*[http://ionide.io/ Ionide]
 +
 +
==语言相关==
 +
*[[F Sharp Compiler Service|F# Compiler Service]]
 +
*[https://github.com/FStarLang/FStar F*] 语言主要用于程序的形式化验证。
  
 
==指南==
 
==指南==
第57行: 第96行:
 
==[[Data science|数据科学]]==
 
==[[Data science|数据科学]]==
 
*[http://fsharp.org/guides/data-science/ Data Science with F#]
 
*[http://fsharp.org/guides/data-science/ Data Science with F#]
*[http://fdatamining.blogspot.com/ F# and Data Mining]
+
*[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开发==
 
==Web开发==
[http://fsharp.org/guides/web/ Web Programming with F#]
+
[[文件: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
  
 
==移动游戏==
 
==移动游戏==
*[http://fsharp.org/guides/apps-and-games/ Mobile App and Game Programming with F#]
+
*[https://fsharp.org/use/mobile-apps/ Use F# for Mobile App Development]
 
*[https://github.com/bryanedds/Nu Nu Game Engine]
 
*[https://github.com/bryanedds/Nu Nu Game Engine]
 
*[https://github.com/TIHan/FQuake3 FQuake3] 雷神之锤III的F#实现
 
*[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|机器学习]]==
 
==[[machine learning|机器学习]]==
 
*[http://fsharp.org/guides/machine-learning/ Machine Learning with F#]
 
*[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/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|云计算]]==
 
==[[cloud computing|云计算]]==
[http://fsharp.org/guides/apps-and-games/ Cloud Data, Compute and Messaging with F#]
+
*[https://fsharp.org/guides/cloud/ Cloud Programming with F#]
 +
*[[MBrace]]
  
 
==金融计算==
 
==金融计算==
第78行: 第131行:
 
*[http://www.tryfsharp.org/Learn/financial-computing Financial Computing with F#]
 
*[http://www.tryfsharp.org/Learn/financial-computing Financial Computing with F#]
 
*[https://github.com/bitcoinfs/bitcoinfs BitcoinFS] full node [[bitcoin]] implementation in F#
 
*[https://github.com/bitcoinfs/bitcoinfs BitcoinFS] full node [[bitcoin]] implementation in F#
 +
*BCF#: bitcoin(bc), blockchain(bc)
  
 
==数学统计==
 
==数学统计==
第83行: 第137行:
 
*[https://statfactory.github.io/Nov2015Slides/slides.html#/ Numerical Computing with F# and MKL]
 
*[https://statfactory.github.io/Nov2015Slides/slides.html#/ Numerical Computing with F# and MKL]
 
*[[Math.NET]]
 
*[[Math.NET]]
 +
*[https://github.com/BlueMountainCapital/FSharpRProvider F# R Provider]
  
 
==数据库/数据访问==
 
==数据库/数据访问==
 
*[http://fsharp.org/guides/data-access/ Data Access with F#]
 
*[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/fsprojects/SQLProvider SQLProvider]
 +
*[https://github.com/nessos/GpuLinq GpuLinq] Democratizing GPGPU programming through [[OpenCL]] and LINQ.
  
==跨平台==
+
==跨平台GUI==
[http://fsharp.org/guides/mac-linux-cross-platform/ Cross-Platform Development with F#]
+
*[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]
  
 
==项目==
 
==项目==
*[https://github.com/fsharp F# @ GitHub]
+
[[文件: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/fsharp F# Compiler, Core Library & Tools]
 
*[https://github.com/fsharp/FAKE FAKE] F# Make  
 
*[https://github.com/fsharp/FAKE FAKE] F# Make  
第107行: 第176行:
 
*[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]
 
*[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/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]
 
*[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]
  
 
==图集==
 
==图集==
第117行: 第201行:
 
image:language-async-leve1-to-level3.png|Async
 
image:language-async-leve1-to-level3.png|Async
 
image:fsharp-data-science-with-fsLab-and-ionide.png|数据科学
 
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: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>
  
第142行: 第231行:
  
 
[[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:F Sharp]]
 
[[category:OCaml]]
 
[[category:OCaml]]
 
[[category:ML]]
 
[[category:ML]]
 +
[[category:lambda]]

2023年7月28日 (五) 15:20的最后版本

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#

[编辑] 案例

[编辑] 文档

更多幻灯片>>>

[编辑] 图书

[编辑] 图集

[编辑] 链接

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

变换
操作
导航
工具箱