ebook img

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

275 Pages·4.252 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

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

Learning F# Functional Data Structures and Algorithms Table of Contents Learning F# Functional Data Structures and Algorithms Credits Foreword Foreword Foreword About the Author Acknowledgments About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why subscribe? Free access for Packt account holders Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. Embrace the Truth Exploring the functional programming paradigm Thinking functional – why functional programming matters A historical primer of F# The Hello World example A brief F# language primer Syntactical similarities and differences Benefits of using F# over C# Summary 2. Now Lazily Get Over It, Again Setting up the IDE Your first F# project Talk is cheap, show me some code To understand recursion, you must understand recursion Memoization with Fibonacci Towers of Hanoi Sorting lazily F# 4.0 – new features Summary 3. What's in the Bag Anyway? Exploring data structures in F# Arrays Lists List comprehensions Sequences Tuples and records Option types Sets and maps Discriminated unions The active pattern F# implementation of sorting algorithms Algorithmic complexity and the Big-O notation The bubble sort Quicksort The merge sort Summary 4. Are We There Yet? Diving deep into enumerations and sequences Enumerating a CSV file Query expressions Creating sequences from collections Usage considerations for sequences Summary 5. Let's Stack Up Let's build a stack Stack with concurrency support Testing the stack Algorithm – parenthesis matching using stacks Summary 6. See the Forest for the Trees Tree as a data structure The binary search tree Navigating the tree Abstract syntax trees Summary 7. Jumping the Queue Let's make a functional queue The FSharpx.Collections library The MailboxProcessor class in F# Summary 8. Quick Boost with Graph Graphs Modeling graphs using F# The shortest path algorithm Finding the minimal path sum Summary 9. Sets, Maps, and Vectors of Indirections Sets and maps Vectors F# and the Intermediate Language Summary 10. Where to Go Next? References and further readings F# language resources Component design guidelines Functional programming guides F# for fun and profit Data science with F# Math and statistics programming with F# Machine learning with F# Books and interactive tutorials Try F# The F# programming wikibook The F# workshop The F# cheat sheet Video tutorials Community projects – development tools Community projects – functional programming Community projects – data science programming Community projects – the GPU execution General functional programming Academic resources Summary Index Learning F# Functional Data Structures and Algorithms Learning F# Functional Data Structures and Algorithms Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: June 2015 Production reference: 1240615 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78355-847-6 www.packtpub.com Credits Author Adnan Masood, Ph.D. Reviewers Steve Bearman Taha Hachana Marcin Juraszek Rohit Pathak Commissioning Editor Kunal Parikh Acquisition Editor Shaon Basu Content Development Editor Rahul Nair Technical Editor Parag Topre Copy Editors Relin Hedly Sonia Mathur Project Coordinator Nidhi Joshi Proofreaders Stephen Copestake Safis Editing Indexer Monica Ajmera Mehta Graphics Disha Haria Jason Monteiro Production Coordinator Nilesh R. Mohite Cover Work Nilesh R. Mohite

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.