F# Functional Programming Language
fsharp.org
1
Leaving SiteNav
External Link Disclaimer
You are about to visit fsharp.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
F# is a strongly-typed functional-first programming language that runs on the .NET platform, designed for succinct, expressive, and correct code. Originally developed by Don Syme at Microsoft Research in 2005, F# combines functional programming with object-oriented and imperative paradigms, making it practical for real-world applications. Key features: functional-first design emphasizing immutability, pure functions, and type safety by default, reducing bugs and improving code maintainability. Powerful type inference eliminating most type annotations while maintaining full static typing, resulting in concise and readable code. Algebraic data types including discriminated unions and records for modeling domain data with exhaustiveness checking. Pattern matching with comprehensive match expressions enabling safe and readable data decomposition and control flow. Type providers for generating types at compile time from external data sources (SQL databases, JSON, XML, REST APIs, World Bank data, R), providing compile-time type safety for dynamically-typed data. Computation expressions (workflows) for building custom control flow, async workflows, and monadic computations in a readable syntax. Units of measure for annotating numeric values with physical units (meters, seconds, kilograms), with compile-time dimensional analysis preventing unit errors. Async and task-based asynchronous programming via async workflows for non-blocking I/O. .NET interoperability with full access to the .NET ecosystem, Base Class Library, NuGet packages, and C# code in both directions. Object-oriented features including classes, interfaces, inheritance, and generics for when OOP is the right tool. Open-source and cross-platform on Windows, macOS, and Linux via .NET. Used in financial services, data science, web development (Giraffe, Saturn), and game development (Unity). Influenced by OCaml with which it shares syntax similarities.
Tags & Categories
Categories
Tags
Statistics
1
Views
0
Clicks
0
Like
0
Dislike