Get started with F# and explore functional programming paradigm with data structures and algorithms
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# ecosystem, helping you to go beyond the fundamentals.
What You Will Learn
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#
Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.