欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
F Sharp
您可以在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# 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
- Suave
- Fable = F# to JS F# |> BABEL
移动游戏
机器学习
- 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!
异步编程
项目
- 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