Skip to content

adnanmasood/Learning-fsharp

Repository files navigation

Source Code for the book.

#Learning F# Functional Data Structures and Algorithms ###Get started with F# and explore functional programming paradigm with data structures and algorithms

Adnan Masood, PhD.

F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. The F# functional programming language enables developers to write simple code to solve complex problems.

Starting with the fundamental concepts of F# and functional programming, this book will walk you through basic problems, helping you to write functional and maintainable code. Using easy-to-understand examples, you will learn how to design data structures and algorithms in F# and apply these concepts in real-life projects. The book will cover built-in data structures and take you through enumerations and sequences. You will gain knowledge about stacks, graph-related algorithms, and implementations of binary trees. Next, you will understand the custom functional implementation of a queue, review sets and maps, and explore the implementation of a vector. Finally, you will find resources and references that will give you a comprehensive overview of F# eco-system, helping you to go beyond the fundamentals.

##Who this book is written for If you have just started your adventure with F#, then this book will help you take the right steps to become a successful F# coder. An intermediate knowledge of imperative programming concepts, and a basic understanding of the algorithms and data structures in .NET environments using the C# language and BCL (Base Class Library), would be helpful.

###What you will learn from this book

  • Familiarize yourself with the functional programming nature of F# and explore its fundamentals
  • Utilize data structures available in F# and apply recursion and lazy evaluation
  • Gain insights into functional programming paradigms; dissect F# code and analyze code available in community projects
  • Build abstract data structures and utilize powerful optimization techniques such as memoization
  • Explore and test built-in F# bespoke data structures and algorithms
  • Become resourceful and learn how to easily reuse libraries contributed by the C# and F# community
  • Understand the trade-offs in selecting purely functional (persistent) over mutable data structures
  • Implement custom ADT (Abstract Data Type), and discover parallel programming and asynchrony within F#

About

Learning F# Book

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published