欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
F Sharp
小 (→指南) |
小 (→链接) |
||
(未显示1个用户的49个中间版本) | |||
第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# 采用 | + | 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) | *[http://www.infoq.com/cn/articles/fsharp-community-survey-2016 F#年度调查结果概述] (2016) | ||
− | == | + | ==功能== |
− | F# | + | 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# | + | F#支持高阶函数、柯里化、惰性求值、Continuations、模式匹配、闭包、列表处理和元编程。这是一个用于显示.NET在不同编程语言间互通的程序设计,可以被.NET中的任意其它代码编译和调用。 |
在早期,F#作为一门适合于金融和计算密集型的语言而闻名。 | 在早期,F#作为一门适合于金融和计算密集型的语言而闻名。 | ||
第30行: | 第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] | ||
− | [https:// | + | ===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文档] | ||
第52行: | 第68行: | ||
==指南== | ==指南== | ||
*[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheatsheet] | *[http://dungpa.github.io/fsharp-cheatsheet/ F# Cheatsheet] | ||
− | * | + | *安装设置 [[Mono]] 环境 |
− | export $PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin | + | export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin |
运行REPL | 运行REPL | ||
$ fsharpi | $ fsharpi | ||
− | > let sa2 = [ ("System", "C++"); ("Application", "C#"); ("Analysis", "F#") ];; | + | > let sa2 = [ ("System", "C/C++/Go"); ("Application", "PHP/C#"); ("Analysis", "F#") ];; |
==编程工具== | ==编程工具== | ||
第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]] | ||
*[https://fable-compiler.github.io/ Fable = F# to JS] F# |> BABEL | *[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/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. | ||
第96行: | 第124行: | ||
==[[cloud computing|云计算]]== | ==[[cloud computing|云计算]]== | ||
− | *[ | + | *[https://fsharp.org/guides/cloud/ Cloud Programming with F#] |
*[[MBrace]] | *[[MBrace]] | ||
第118行: | 第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== |
− | [ | + | *[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]] | ||
==异步编程== | ==异步编程== | ||
第126行: | 第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] | ||
第147行: | 第181行: | ||
*[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] | *[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. | ||
==文档== | ==文档== | ||
第156行: | 第193行: | ||
*[https://en.wikibooks.org/wiki/F_Sharp_Programming F# Programming] | *[https://en.wikibooks.org/wiki/F_Sharp_Programming F# Programming] | ||
*F# Programming 中文计划 | *F# Programming 中文计划 | ||
+ | *[http://book.huihoo.com/dotnet/fsharp-for-fun-and-profit.pdf F# for fun and profit] | ||
==图集== | ==图集== | ||
第163行: | 第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> | ||
第191行: | 第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:Huihoo Foundation]] |
2024年8月22日 (四) 00:48的最后版本
您可以在Wikipedia上了解到此条目的英文信息 F Sharp Thanks, Wikipedia. |
F#
目录 |
[编辑] 简介
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)
- 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# Language Reference
- F# Core API Reference
- The F# Language Specification
- F# Cheat Sheet
- The F# Component Design Guidelines
- F# Language Design RFCs
[编辑] F# 6
[编辑] F# 5
[编辑] F# 4
[编辑] F# 3
[编辑] F# 2
The F# Language Design Process
[编辑] 指南
- 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#") ];;
[编辑] 编程工具
[编辑] 语言相关
- F# Compiler Service
- F* 语言主要用于程序的形式化验证。
[编辑] 指南
- 可从 FSharpCommunityTemplates 开始F#的学习和应用的构建。
[编辑] 领域建模
使用F#类型进行领域建模
[编辑] 企业应用
Enterprise Programming with F#
[编辑] 数据科学
- Data Science with F#
- FsLab for Data Science and Machine Learning with F#
- Streams A lightweight F#/C# library for efficient functional-style pipelines on streams of data.
- F# and Data Mining F# to JavaScript Compiler
[编辑] Web开发
- Using F# for Web Applications
- Web Programming with F#
- Giraffe A native functional ASP.NET Core web framework for F# developers.
- SAFE-Stack SAFE-Compatible UI Components
- Suave
- Fable = F# to JS F# |> BABEL
[编辑] 移动游戏
- Use F# for Mobile App Development
- Nu Game Engine
- FQuake3 雷神之锤III的F#实现
- F# and MonoGame MonoGame
- React Native + SAFE
[编辑] 机器学习
- Machine Learning with F#
- Use F# for GPU Programming
- Alea GPU GPU Computing on .NET
- Vulpes: a Deep Belief Net written in F#, and using Alea.cuBase to access the GPU.
- Stanford.NLP for .NET
[编辑] 云计算
[编辑] 金融计算
- Financial technology
- Financial Computing with F#
- BitcoinFS full node bitcoin implementation in F#
- BCF#: bitcoin(bc), blockchain(bc)
[编辑] 数学统计
[编辑] 数据库/数据访问
- Data Access with F#
- F# Data: Library for Data Access
- F# Type Providers
- SQLProvider
- GpuLinq Democratizing GPGPU programming through OpenCL and LINQ.
[编辑] 跨平台GUI
- Using F# for Desktop Apps
- Avalonia FuncUI Develop cross-platform MVU GUI Applications using F# and Avalonia! Docs
- Ionide
- Fabulous Fabulous.XamarinForms
[编辑] 异步编程
[编辑] 项目
- Awesome F#
- F# @ GitHub
- F# Community Project
- Trending F# repositories on GitHub
- F# Compiler, Core Library & Tools
- FAKE F# Make
- F# Compiler Service The F# compiler as a component.
- llvm-fs An F# binding for LLVM
- Visual F# compiler and tools
- Visual F# Documentation
- F# Community Project Incubation Space
- MBrace是一种使用F#及C#进行脚本编写与编程,适用于高伸缩性云计算的编程模型。
- Suave 一个面向F#的Web服务器和开发库 与Henrik Feldt谈论Suave 1.0
- generator-fsharp
- Sync.Today 2015 .NET Business Processes Automation Platform
- FsLab
- WebSharper is the #1 choice for F# web applications,同时也支持 C# web applications. 背后公司:IntelliFactory CloudSharper
- FQuake3 An attempt to re-implement id Software’s Quake III Arena in F#.
- F# Formatting
[编辑] 案例
- On how Jet chose F# Jet @ GitHub
- Testimonials and Quotes
- 瑞信 Quantitative Finance in F# Why FP matters to Credit Suisse
- GameSys F# @ Social game
- Grean - Know Your Customers 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.
[编辑] 文档
[编辑] 图书
- F# Programming
- F# Programming 中文计划
- F# for fun and profit
[编辑] 图集
[编辑] 链接
- F#官网
- F# @ GitHub
- The F# Core Engineering Group
- fsharpConf - The F# Community Virtual Conference
- F# Language Reference
- F# Core Library Reference
- Ionide
- F# 设计者: 微软研究院 Don Syme 博客
- F# at Microsoft Research
- Delusional software ramblings
- Tomas Petricek's blog
- fsharpWorks
- F# for fun and profit F# for Fun and Profit eBook
- F# 幻灯片
- F# 在InfoQ上的内容
- Tsunami an embeddable desktop F# IDE
- Try F# for learning F# in your browser
- Cassandra, Docker and F# Awesomeness
- Comparing a Machine Learning Algorithm Implemented in F# and OCaml