Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Markdown Lint

on: [push, pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: tj-actions/changed-files@v45
id: changed-files
with:
files: '**/*.md'
separator: ","
- uses: DavidAnson/markdownlint-cli2-action@v19
if: steps.changed-files.outputs.any_changed == 'true'
with:
globs: ${{ steps.changed-files.outputs.all_changed_files }}
separator: ","
22 changes: 22 additions & 0 deletions .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
// Enable all rules by default
"default": true,

// Line length: increase default from 80
"MD013": {
"line_length": 100,
"code_blocks": false,
"tables": false
},

// Allow duplicate headers in different nested sections
"MD024": {
"allow_different_nesting": true
},

// Allow inline HTML
"MD033": false,

// First line in a file doesn't need to be a top-level header
"MD041": false,
}
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ Example:

Not ideal, but oh well.


## Developing locally

The easiest way to get started developing this repository on your own machine is by using the supplied dev container.
Expand Down
2 changes: 1 addition & 1 deletion _books/F#_high_performance_2017.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ In this book you will:
- Implement best practices to optimize performance
- Use the available tooling to help measure performance
- Combine the best practice of asynchronous and synchronous
- Optimize further using various F# language constructs
- Optimize further using various F# language constructs
2 changes: 1 addition & 1 deletion _books/beginning_f#_4_2016.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
bookurl: https://link.springer.com/book/10.1007/978-1-4842-1374-2
---
This book is a great foundation for exploring functional-first programming and
its role in the future of application development. The best-selling introduction to F#,

Check failure on line 9 in _books/beginning_f#_4_2016.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/beginning_f#_4_2016.md:9:81 MD013/line-length Line length [Expected: 80; Actual: 87] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md
now thoroughly updated to version 4.0, will help you learn the language and explore
its new features.
its new features.
2 changes: 1 addition & 1 deletion _books/building_f#_applications_video_2017.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
image: /learn/files/book_covers/building_fsharp_applications.avif
bookurl: https://www.packtpub.com/en-us/product/building-f-applications-9781788298858
---
Learn how to use F#'s functional features to rapidly turn requirements into software designs that are correct, complete, extensible, bug-free, and easy to read and understand.

Check failure on line 8 in _books/building_f#_applications_video_2017.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/building_f#_applications_video_2017.md:8:81 MD013/line-length Line length [Expected: 80; Actual: 175] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

- Setup your IDE for F# development
- Use F#-friendly tools for test automation, builds, and dependency management
- Model your application's problem domain using F#'s immutable data types and collections
- Build simple-to-complex application behavior with F# functions
- Interoperate between your F# applications and other .NET languages
- Interoperate between your F# applications and other .NET languages
2 changes: 1 addition & 1 deletion _books/domain_modeling_made_functional_2018.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
image: /learn/files/book_covers/domain_modeling_made_functional.webp
bookurl: https://pragprog.com/titles/swdddf/domain-modeling-made-functional/
---
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you’ll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely—often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.

Check failure on line 8 in _books/domain_modeling_made_functional_2018.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/domain_modeling_made_functional_2018.md:8:81 MD013/line-length Line length [Expected: 80; Actual: 674] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.

Check failure on line 10 in _books/domain_modeling_made_functional_2018.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/domain_modeling_made_functional_2018.md:10:81 MD013/line-length Line length [Expected: 80; Actual: 410] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have “compile-time unit tests,” and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.

Check failure on line 12 in _books/domain_modeling_made_functional_2018.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/domain_modeling_made_functional_2018.md:12:81 MD013/line-length Line length [Expected: 80; Actual: 758] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

Solve real problems by focusing on real-world requirements for your software.
Solve real problems by focusing on real-world requirements for your software.
6 changes: 3 additions & 3 deletions _books/essential_f#.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
image: /learn/files/book_covers/essential_fsharp.jpeg
bookurl: https://leanpub.com/essential-fsharp
---
This is a practical book aimed at efficiently getting you up to speed with the essentials functional-first programming in F#.
This is a practical book aimed at efficiently getting you up to speed with the essentials functional-first programming in F#.

Check failure on line 8 in _books/essential_f#.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/essential_f#.md:8:81 MD013/line-length Line length [Expected: 80; Actual: 125] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

Everywhere you look, programming languages are gaining functional features. The problem is that it's not the individual features that make functional programmers happy, it's the way that your approach to writing software and the features work together to help you write simple code to solve interesting problems. This book will help you to discover why F# is such a popular language with those who have spent time learning its secrets.
Everywhere you look, programming languages are gaining functional features. The problem is that it's not the individual features that make functional programmers happy, it's the way that your approach to writing software and the features work together to help you write simple code to solve interesting problems. This book will help you to discover why F# is such a popular language with those who have spent time learning its secrets.

Check failure on line 10 in _books/essential_f#.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/essential_f#.md:10:81 MD013/line-length Line length [Expected: 80; Actual: 435] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

This book started life as a series of blog posts on my Company's website (https://www.softwarepark.cc/blog). The sum of the content is what a developer needs to know to be able to work on one of our F# Line of Business codebases. I have improved and extended the content, upgraded the code to F# 5 and ensured that the code will run in VS Code.
This book started life as a series of blog posts on my Company's website (<https://www.softwarepark.cc/blog>). The sum of the content is what a developer needs to know to be able to work on one of our F# Line of Business codebases. I have improved and extended the content, upgraded the code to F# 5 and ensured that the code will run in VS Code.

Check failure on line 12 in _books/essential_f#.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/essential_f#.md:12:81 MD013/line-length Line length [Expected: 80; Actual: 346] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md
8 changes: 4 additions & 4 deletions _books/export_f#_4_2015.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
image: /learn/files/book_covers/expert_fsharp_4.webp
bookurl: https://link.springer.com/book/10.1007/978-1-4842-0740-6
---
Expert F# 4.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity.

Check failure on line 8 in _books/export_f#_4_2015.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/export_f#_4_2015.md:8:81 MD013/line-length Line length [Expected: 80; Actual: 283] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

- A comprehensive guide to F# by the inventor of F#
- A treasury of F# techniques for practical problem-solving
- An in-depth case book of how F# applications and of F# 4.0 concepts, syntax, and features
- A comprehensive guide to F# by the inventor of F#
- A treasury of F# techniques for practical problem-solving
- An in-depth case book of how F# applications and of F# 4.0 concepts, syntax, and features

Check failure on line 12 in _books/export_f#_4_2015.md

View workflow job for this annotation

GitHub Actions / lint

Line length

_books/export_f#_4_2015.md:12:81 MD013/line-length Line length [Expected: 80; Actual: 91] https://github.com/DavidAnson/markdownlint/blob/v0.37.4/doc/md013.md

The world's experts in F# show you how to program in F# the way they do!
The world's experts in F# show you how to program in F# the way they do!
2 changes: 1 addition & 1 deletion _books/f#_4_design_patterns_2016 .md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ In this book you will:
- Make use of native F# algebraic data types in place of custom-built classes
- Recognize and measure the difference in resource consumption between sequences and materialized data collections
- Navigate and use F# Core libraries with ease by seeing patterns behind specific library functions
- Master writing generic polymorphic code
- Master writing generic polymorphic code
2 changes: 1 addition & 1 deletion _books/f#_applied_2016.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ In this book you will read:
- An in-depth understanding of Web development in F# using Suave
- How to develop applications using EventSourcing, CQRS, and DDD in F#
- How to set up continuous integration and continuous deployment using FAKE and Docker
- How to leverage libraries like Rx, FSharp.Data and Paket
- How to leverage libraries like Rx, FSharp.Data and Paket
2 changes: 1 addition & 1 deletion _books/f#_deep_dives_2014.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ year: 2014
image: /learn/files/book_covers/fsharp_deep_dives.jpg
bookurl: https://www.manning.com/books/f-sharp-deep-dives
---
_F# Deep Dives_ presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you'll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You'll not only see how a specific solution works in a specific domain, you'll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.
_F# Deep Dives_ presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you'll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You'll not only see how a specific solution works in a specific domain, you'll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.
6 changes: 4 additions & 2 deletions _books/f#_for_machine_learning_essentials_2016.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ year: 2016
image: /learn/files/book_covers/fsharp_for_machine_learning_essentials.jpg
bookurl: https://www.packtpub.com/en-us/product/f-for-machine-learning-essentials-9781783989348
---
The F# functional programming language enables developers to write simple code to solve complex problems. With F#, developers create consistent and predictable programs that are easier to test and reuse, simpler to parallelize, and are less prone to bugs. If you want to learn how to use F# to build machine learning systems, then this is the book you want. Starting with an introduction to the several categories on machine learning, you will quickly learn to implement time-tested, supervised learning algorithms. You will gradually move on to solving problems on predicting housing pricing using Regression Analysis. You will then learn to use Accord.NET to implement SVM techniques and clustering.
The F# functional programming language enables developers to write simple code to solve complex problems. With F#, developers create consistent and predictable programs that are easier to test and reuse, simpler to parallelize, and are less prone to bugs. If you want to learn how to use F# to build machine learning systems, then this is the book you want. Starting with an introduction to the several categories on machine learning, you will quickly learn to implement time-tested, supervised learning algorithms. You will gradually move on to solving problems on predicting housing pricing using Regression Analysis. You will then learn to use Accord.NET to implement SVM techniques and clustering.

You will also learn to build a recommender system for your e-commerce site from scratch. Finally, you will dive into advanced topics such as implementing neural network algorithms while performing sentiment analysis on your data.

#### Who is this book for?

If you are a C# or an F# developer who now wants to explore the area of machine learning, then this book is for you. Familiarity with theoretical concepts and notation of mathematics and statistics would be an added advantage.

#### What you will learn
Expand All @@ -22,6 +23,7 @@ Use a recommender system for your own problem domain
Identify tourist spots across the globe using inputs from the user with decision tree algorithms.

#### Key benefits

Design algorithms in F# to tackle complex computing problems
Be a proficient F# data scientist using this simple-to-follow guide
Solve real-world, data-related problems with robust statistical models, built for a range of datasets
Solve real-world, data-related problems with robust statistical models, built for a range of datasets
2 changes: 1 addition & 1 deletion _books/f#_for_quantitative_finance_2013.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ In this book you will:
- Model orders and market data together with basic pre-trade risk
- Structure and write object-oriented code
- Develop larger programs using F#
- Explore automated trading systems and quantitative trading models
- Explore automated trading systems and quantitative trading models
2 changes: 1 addition & 1 deletion _books/f#_for_scientists_2008.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ programming language. The book assumes no prior experience and guides the reader
the basics of computer programming to the implementation of state-of-the-art algorithms.
Written in a clear and concise style, F# for Scientists is well suited for researchers,
scientists. It also serves as an
ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.
ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.
2 changes: 1 addition & 1 deletion _books/f#_ile_fonksiyonel_programlama_2021.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ bookurl: https://www.dikeyeksen.com/products/f-ile-fonksiyonel-programlama?varia
This book is the first and the only F# book in Turkish. The book covers F# and general functional programming principles.

F#, aktif ve bağımsız geliştirici topluluğu tarafından yön verilen, özellikle bulut teknolojileri, veri analizi ve bilimsel çalışmalarda kullanımı her geçen gün artan sade ve şık bir programlama dilidir.
F# ile Microsoft'un .NET platformu üzerinde Windows, Linux ve OSX işletim sistemlerinde çalışabilen her çapta ve özllikte uygulamalar geliştirebilirsiniz. Hatta sistem yönetimi scriptlerinizi bile F# ile oluşturabilirsiniz. F# ile Fonksiyonel Programlama kitabında F#'ın sunduğu tüm bu imkanlar ile sizi tanıştırmayı ve bol kod örnekleri ile F#'ı özümsemenizi hedefliyoruz.
F# ile Microsoft'un .NET platformu üzerinde Windows, Linux ve OSX işletim sistemlerinde çalışabilen her çapta ve özllikte uygulamalar geliştirebilirsiniz. Hatta sistem yönetimi scriptlerinizi bile F# ile oluşturabilirsiniz. F# ile Fonksiyonel Programlama kitabında F#'ın sunduğu tüm bu imkanlar ile sizi tanıştırmayı ve bol kod örnekleri ile F#'ı özümsemenizi hedefliyoruz.
2 changes: 1 addition & 1 deletion _books/f#_in_action_2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ In F# in Action you will learn how to:
- Effectively model data using a variety of techniques
- Use scripts to rapidly explore domains

_F# in Action_ is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm.
_F# in Action_ is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm.
2 changes: 1 addition & 1 deletion _books/functional_programming_using_f#_2013.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ library, the imperative features of F# and topics such as text processing, seque
computation expressions and asynchronous computation. With a broad spectrum of examples
and exercises, the book is perfect for courses in functional programming and for self-study.
Enhancing its use as a text is an accompanying website with downloadable programs, lecture
slides, a mini-projects and links to further F# sources.
slides, a mini-projects and links to further F# sources.
2 changes: 1 addition & 1 deletion _books/learning_functional_programming_with_f#_2017.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ Develop web applications that includes server-side as well as the client-side pr

- Learn F# with this learner-friendly approach in this course
- This single course covers all the basics so you can start building powerful applications
- Get familiar with all the top modules and components included in this course
- Get familiar with all the top modules and components included in this course
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ year: 2015
image: /learn/files/book_covers/machine_learning_projects_for_dotnet_developers.jpg
bookurl: https://www.amazon.com/Machine-Learning-Projects-NET-Developers/dp/1430267674/?tag=mathias-brandewinder-20
---
Machine Learning Projects for .NET Developers shows you how to build smarter .NET applications that learn from data, using simple algorithms and techniques that can be applied to a wide range of real-world problems.
Machine Learning Projects for .NET Developers shows you how to build smarter .NET applications that learn from data, using simple algorithms and techniques that can be applied to a wide range of real-world problems.
2 changes: 1 addition & 1 deletion _books/mastering_f#_2016.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ In this book you will:
- Create and use type providers that help perform data analysis from within Visual Studio
- Develop applications with pure F# code in WPF or ASP.NET MVC
- Find out how to perform distributed programming with ServiceBus or ZeroMQ
- Visualize data with charts, and work with Excel and R language Type providers
- Visualize data with charts, and work with Excel and R language Type providers
2 changes: 1 addition & 1 deletion _books/multi-paradign_programming_using_f#_and_dotnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ In this book you will read:
- Object Oriented Programming (Objects, Classes, Inheritance, Abstraction, Polymorphism, ...)
- Error Handling (Exceptions, Exception Types, Throwing and Catching Exceptions, ...)
- Databases (Sql Server, Query Expressions, Type Providers, ...)
- User Interfaces (Windows Forms, WPF, GTK#)
- User Interfaces (Windows Forms, WPF, GTK#)
2 changes: 1 addition & 1 deletion _books/programming_language_concepts_2017.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ year: 2017
image: /learn/files/book_covers/programming_language_concepts.webp
bookurl: https://link.springer.com/book/10.1007/978-3-319-60789-4
---
The book Programming Language Concepts (PLC) provides an introduction to programming language concepts and implementation technology, such as interpretation, compilation, type checking and type inference, abstract machines, and garbage collection. F# is used as a meta language throughout the book expressing all concepts and examples of programming language design in a modern strongly-typed language of the ML-family, enabling the reader to experiment with the ideas right away.
The book Programming Language Concepts (PLC) provides an introduction to programming language concepts and implementation technology, such as interpretation, compilation, type checking and type inference, abstract machines, and garbage collection. F# is used as a meta language throughout the book expressing all concepts and examples of programming language design in a modern strongly-typed language of the ML-family, enabling the reader to experiment with the ideas right away.
2 changes: 1 addition & 1 deletion _books/real_world_functional_programming_2010.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ functional programming model through the F# and C# languages. The clearly
presented ideas and examples teach readers how functional programming
differs from other approaches. It explains how ideas look in F#-a
functional language-as well as how they can be successfully used to solve
programming problems in C#.
programming problems in C#.
2 changes: 1 addition & 1 deletion _books/stylish_f#_6_2022.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ _Stylish F# 6_ covers every design decision that a developer makes in constructi
- Identify and implement opportunities to use function injection to improve program design
- Appreciate the methods available to handle unknown data values
- Understand asynchronous and parallel programming in F#, and how it differs from C# asynchronous programming
- Exploit records and anonymous records as low-overhead, easily comparable containers for structured data
- Exploit records and anonymous records as low-overhead, easily comparable containers for structured data
2 changes: 1 addition & 1 deletion _books/the_book_of_f#_2014.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ year: 2014
image: /learn/files/book_covers/book_of_fsharp.png
bookurl: https://nostarch.com/fsharp
---
The Book of F# aims to introduce intermediate and experienced developers to functional-first programming with F#. Throughout the book, you'll learn how this robust language can help you focus on creating correct solutions by introducing a variety of important concepts including currying, partial application, pattern matching, units of measure, asynchronous workflows, query expressions, type providers, and computation expressions. Furthermore, you'll discover how F#'s rich object-oriented capabilities allow it to naturally fit into existing applications.
The Book of F# aims to introduce intermediate and experienced developers to functional-first programming with F#. Throughout the book, you'll learn how this robust language can help you focus on creating correct solutions by introducing a variety of important concepts including currying, partial application, pattern matching, units of measure, asynchronous workflows, query expressions, type providers, and computation expressions. Furthermore, you'll discover how F#'s rich object-oriented capabilities allow it to naturally fit into existing applications.
Loading