Learning F# Functional Data Structures and Algorithms
eBook - ePub

Learning F# Functional Data Structures and Algorithms

Adnan Masood

Compartir libro
  1. 206 páginas
  2. English
  3. ePUB (apto para móviles)
  4. Disponible en iOS y Android
eBook - ePub

Learning F# Functional Data Structures and Algorithms

Adnan Masood

Detalles del libro
Vista previa del libro
Índice
Citas

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es Learning F# Functional Data Structures and Algorithms un PDF/ePUB en línea?
Sí, puedes acceder a Learning F# Functional Data Structures and Algorithms de Adnan Masood en formato PDF o ePUB, así como a otros libros populares de Computer Science y Object Oriented Programming. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Año
2015
ISBN
9781783558476

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

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

Foreword

Functional programming is about to become mainstream, and learning F# helps a programmer build skills in multiple paradigms. It doesn't surprise me at all that Adnan has found his way to functional programming. His dedication to technological excellence is expressed eloquently in this book, and if you want to get started with F#, this is the book to read.
Jon Flanders
Pluralsight Trainer, Microsoft MVP

Foreword

In the era of multiprocessor and multimachine processing, functional principles are becoming increasingly important for modern programmers. For those developing in the Microsoft ecosystem, F# is a functional first multiparadigm language that allows practitioners to apply these principles in a truly powerful way. As developers become more familiar with functional data structures and the algorithms that use them truly safely, by extension, powerful software will become a more commonplace commodity that will drive the next era of technological innovation. I can't think of a more thorough and thoughtful person to help guide us through these principles than Adnan. Enjoy!
Seth Juarez
Senior Technical Evangelist, Microsoft

Foreword

F# is a functional and object-oriented programming language with the power of the .NET Framework. This language has gained huge popularity among a broad range of programmers. With a focus on writing simple code to solve complex problems, F# is being used by data scientists, enterprise developers, and enterprise enthusiasts. In fact, its popularity has increased so much in recent times that according to the TIOBE index (ranked 11th as of March 2015), F# is all set to gain an esteemed position among the top 10 programming languages.
With the rise in interest and usage around F#, it's bo...

Índice