F Sharp

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(案例)
(链接)
 
(未显示1个用户的38个中间版本)
第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# - Objects + Functional
+
F# = Objects + Functional
  
 
Mixed OO/Functional Programming Has Won
 
Mixed OO/Functional Programming Has Won
  
[http://fsharpforfunandprofit.com/why-use-fsharp/ Why use F#?]
+
*[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#支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。
  
 
在早期,F#作为一门适合于金融和计算密集型的语言而闻名。
 
在早期,F#作为一门适合于金融和计算密集型的语言而闻名。
第30行: 第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文档]
  
第53行: 第69行:
 
*[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheatsheet]
 
*[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheatsheet]
 
*安装设置 [[Mono]] 环境  
 
*安装设置 [[Mono]] 环境  
  export $PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin
+
  export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin
 
运行REPL
 
运行REPL
 
  $ fsharpi
 
  $ fsharpi
第63行: 第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*] 语言主要用于程序的形式化验证。
  
 
==指南==
 
==指南==
第76行: 第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#]
 +
*[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.  
 
*[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]
 
*[http://fdatamining.blogspot.com/ F# and Data Mining] [https://github.com/fable-compiler/Fable F# to JavaScript Compiler]
  
 
==Web开发==
 
==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]]
 
*[[Suave]]
*[http://fsharp.org/guides/web/ Web Programming with F#]
 
 
*[https://fable-compiler.github.io/ Fable = F# to JS] F# |> BABEL
 
*[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://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
 
*[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.
第97行: 第124行:
  
 
==[[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]]
 
*[[MBrace]]
  
第119行: 第146行:
 
*[https://github.com/nessos/GpuLinq GpuLinq] Democratizing GPGPU programming through [[OpenCL]] and LINQ.
 
*[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]]
  
 
==异步编程==
 
==异步编程==
第127行: 第157行:
  
 
==项目==
 
==项目==
*[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/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]
第168行: 第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:fsharp-community-2015.png|F#社区2015
 +
image:safe-component-saturn.png|SAFE集成Saturn
 +
image:safe-component-elmish.png|SAFE集成Elmish
 
</gallery>
 
</gallery>
  
第197行: 第234行:
 
[[category:functional programming]]
 
[[category:functional programming]]
 
[[category:numerical analysis]]
 
[[category:numerical analysis]]
 +
[[category:financial]]
 
[[category:F Sharp]]
 
[[category:F Sharp]]
 
[[category:OCaml]]
 
[[category:OCaml]]
 
[[category:ML]]
 
[[category:ML]]
 
[[category:lambda]]
 
[[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#

[编辑] 案例

[编辑] 文档

更多幻灯片>>>

[编辑] 图书

[编辑] 图集

[编辑] 链接

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

变换
操作
导航
工具箱