Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mikeroyal/f-sharp-guide
F# Guide
https://github.com/mikeroyal/f-sharp-guide
data-science dotnet dotnet-core fsharp
Last synced: about 2 months ago
JSON representation
F# Guide
- Host: GitHub
- URL: https://github.com/mikeroyal/f-sharp-guide
- Owner: mikeroyal
- Created: 2020-09-25T19:02:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T23:42:30.000Z (about 3 years ago)
- Last Synced: 2024-10-25T16:14:05.177Z (3 months ago)
- Topics: data-science, dotnet, dotnet-core, fsharp
- Language: F#
- Homepage:
- Size: 19.5 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
F# Guide#### A guide covering F# including the applications and tools that will make you a better and more efficient F# developer.
**Note: You can easily convert this markdown file to a PDF in [VSCode](https://code.visualstudio.com/) using this handy extension [Markdown PDF](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf).**
# F# Learning Resources
[F#](https://fsharp.org/) is a mature, open source, cross-platform, functional-first programming language. It empowers users and organizations to tackle complex computing problems with simple, maintainable and robust code.
[What is F#](https://docs.microsoft.com/en-us/dotnet/fsharp/what-is-fsharp)
[F#, the Functional programming for .NET](https://dotnet.microsoft.com/languages/fsharp)
[Cloud Programming with F#](https://fsharp.org/guides/cloud/)
[F# style guide](https://docs.microsoft.com/en-us/dotnet/fsharp/style-guide/)
[F# Programming Wikibook](http://en.wikibooks.org/wiki/Programming:F_Sharp)
[F# Developer Network (FSDN)](http://fsdn.azurewebsites.net/)
[Learning F# from The F# Software Foundation ](https://fsharp.org/learn/)
[F# Programming groups | Meetup](https://www.meetup.com/topics/f-programming/)
# F# Tools, Libraries, and Frameworks
[Python.NET](http://pythonnet.github.io/) is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers. It allows Python code to interact with the CLR, and may also be used to embed Python into a .NET application.
[Fable](https://fable.io) is an F# to JavaScript compiler powered by [Babel](https://babeljs.io/), designed to make F# a first-class citizen of the JavaScript ecosystem.
[.NET for Apache Spark](https://dot.net/spark) provides high performance APIs for using Apache Spark from C# and F#. With these .NET APIs, you can access the most popular Dataframe and SparkSQL aspects of Apache Spark, for working with structured data, and Spark Structured Streaming, for working with streaming data. .NET for Apache Spark runs on Windows, Linux, and macOS using .NET Core, or Windows using .NET Framework. It also runs on all major cloud providers including [Azure HDInsight Spark](https://github.com/dotnet/spark/blob/master/deployment/README.md#azure-hdinsight-spark), [Amazon EMR Spark](https://github.com/dotnet/spark/blob/master/deployment/README.md#amazon-emr-spark), [AWS](https://github.com/dotnet/spark/blob/master/deployment/README.md#databricks) & [Azure](https://github.com/dotnet/spark/blob/master/deployment/README.md#databricks) Databricks.
[Giraffe](https://giraffe.wiki/) is a functional ASP.NET Core micro web framework for building rich web applications.
[Suave](https://suave.io/) is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition. Suave supports Websocket, HTTPS, multiple TCP/IP bindings, Basic Access Authentication, Keep-Alive.
[FsCheck](https://fscheck.github.io/FsCheck/) is a tool for testing .NET programs automatically. The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases.
[Elmish](https://elmish.github.io/elmish/) implements core abstractions for F# apps that can be used to build applications following the “model view update” style of architecture made famous by Elm. The library however does not model any "view" and is intended for use in conjuction with a DOM/renderer, like React/ReactNative or VirtualDOM.
[Saturn](https://saturnframework.org/) is a web development framework written in F# which implements the server-side MVC pattern. Many of its components and concepts will seem familiar to anyone with experience in other web frameworks like Ruby on Rails or Python’s Django.
[Pulumi](https://www.pulumi.com/) is Infrastructure as Code SDK is the easiest way to create and deploy cloud software that use containers, serverless functions, hosted services, and infrastructure, on any cloud. Simply write code in your favorite language and Pulumi will automatically provisions and manages your AWS, Azure, Google Cloud Platform, and/or Kubernetes resources, using an infrastructure-as-code approach.
[FsPickler](https://github.com/mbraceproject/FsPickler) is a serialization library that facilitates the distribution of .NET objects. The implementation focuses on performance and completeness in supported types, including F# types. It supports multiple, pluggable serialization formats including Binary, Xml, JSON and BSON. The library is based on the functional programming concept of [pickler combinators](https://www.microsoft.com/en-us/research/publication/functional-pearl-pickler-combinators/) which has been adapted to accommodate the object oriented nature of the .NET framework.
[Paket](https://fsprojects.github.io/Paket/) is a dependency manager for .NET with support for NuGet packages and git repositories.
[Fantomas](https://fsprojects.github.io/fantomas-tools/#/fantomas/preview) is a F# source code formatter.
[SQLProvider](http://fsprojects.github.io/SQLProvider) is a general F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, and CRUD operations.
[FsUnit](http://fsprojects.github.io/FsUnit/) makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework.
## Contribute
- [x] If would you like to contribute to this guide simply make a [Pull Request](https://github.com/mikeroyal/F-Sharp-Guide/pulls).
## License
Distributed under the [Creative Commons Attribution 4.0 International (CC BY 4.0) Public License](https://creativecommons.org/licenses/by/4.0/).