My Account Log in

2 options

Haskell cookbook : build functional applications using Monads, Applicatives, and Functors / Yogesh Sajanikar.

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Sajanikar, Yogesh, author.
Language:
English
Subjects (All):
Haskell (Computer program language).
Application software--Development.
Application software.
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
1st edition
Place of Publication:
Birmingham, [England] ; Mumbai, [India] : Packt, 2017.
System Details:
text file
Biography/History:
Sajanikar Yogesh: Yogesh Sajanikar has received his bachelor's degree in Mechanical Engineering from Shivaji University, India, along with a gold medal and a master's degree in Production Engineering from the Indian Institute of Technology, Bombay, India. Yogesh has an experience of more than 20 years, and he has extensively worked with Product Lifecycle Management (PLM) and Computer Aided Design (CAD) software development firms, and architected solutions for domains such as Construction and Shipping Domain. Having hooked on to functional programming, he moved into the Finance domain and worked as an enterprise architect; he has also worked with Scala/F# and Haskell. Currently, he is working as a CTO for a startup. He has also started local Haskell meetups and has been an active participant in meetups and functional conferences. Yogesh believes in the open source movement, and believes in giving back to the open source community.
Summary:
Save time and build fast, functional, and concurrent application using Haskell About This Book Comprehensive guide for establishing a strong foundation in Haskell and developing pragmatic code Create a full fledged web application using Haskell Work with Lens, Haskell Extensions, and write code for concurrent and distributed applications Who This Book Is For This book is targeted at readers who wish to learn the Haskell language. If you are a beginner, Haskell Cookbook will get you started. If you are experienced, it will expand your knowledge base. A basic knowledge of programming will be helpful. What You Will Learn Use functional data structures and algorithms to solve problems Understand the intricacies of the type system Create a simple parser for integer expressions with additions Build high-performance web services with Haskell Master mechanisms for concurrency and parallelism in Haskell Perform parsing and handle scarce resources such as filesystem handles Organize your programs by creating your own types and type classes In Detail Haskell is a purely functional language that has the great ability to develop large and difficult, but easily maintainable software. Haskell Cookbook provides recipes that start by illustrating the principles of functional programming in Haskell, and then gradually build up your expertise in creating industrial-strength programs to accomplish any goal. The book covers topics such as Functors, Applicatives, Monads, and Transformers. You will learn various ways to handle state in your application and explore advanced topics such as Generalized Algebraic Data Types, higher kind types, existential types, and type families. The book will discuss the association of lenses with type classes such as Functor, Foldable, and Traversable to help you manage deep data structures. With the help of the wide selection of examples in this book, you will be able to upgrade your Haskell programming skills and develop scalable software idiomatically. Style and approach The book follows a recipe-based approach. Each recipe addresses specific problems and issues. The recipes provide discussions and insights to explain these problems. 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 code file.
Contents:
Cover
Copyright
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Foundations of Haskell
Introduction
Getting started with Haskell
How to do it...
How it works…
Dissecting Hello World
There's more…
Working with data types
How to&amp
#160
do it…
How&amp
it works...
Working with pure functions and user-defined data types
Getting ready
to do it...
How it works...
Source formatting
Working with list functions
List creation
Enumerated list
Head and tail of a list
Operations on a list
Indexed access
Checking whether an element is present
Pattern matching on list
List concatenation
Strings are lists
Chapter 2: Getting Functional
Working with recursive functions
do it...
There's more...
Reversing a list - Recursive worker function pattern
Creating maps and filters
Map&amp
function
Filter function
Working with laziness and recursion
Working with folds
Sorting a list
Implementing merge sort
Implementing Eratosthenes Sieve
Chapter 3: Defining Data.
Introduction
Defining a product type
Defining a sum type
Defining a binary tree and traversing it
Defining data with functions
Using Maybe
Using Either
Working with type classes
Working with Monoid
Chapter 4: Working with Functors, Applicatives, and Monads
Working with Functors
Binary tree as Functor
Working with Applicatives
Binary tree as Applicative
Working with monad
List as monad
Working with IO monad
Writing INI parser
Errors and exception handling
Chapter 5: More about Monads
Writing a State Monad
Computing a fibonacci number with State Monad
Writing a State Monad transformer
Working with the Reader monad transformer
Working with the Writer monad transformer
Combining monad transformers
How it works.
Chapter 6: Working with Common Containers and Strings
Working with sets
Shopping cart as a set
Working with maps
Log analysis with map
Working with vector
Working with text and bytestring
Creating and testing a priority queue
Working with Foldable and Traversable
Chapter 7: Working with Relational and NoSQL Databases
Working with Persistent
Managing migrations
Creating custom data types
Using Esqueleto to do advanced SQL queries
Using hedis to work with redis (key-value, list and hash)
Getting ready...
Using hashsets and sorted sets in redis to create a Trie
Chapter 8: Working with HTML and Templates
Using blaze to create an HTML template
Using blaze to reverse engineer an HTML page
Use blaze-html with Bootstrap to create HTML template
How to do it...&amp
Using heist as a template engine
Working with splice in Heist
Chapter 9: Working with Snap Framework
Getting started with Snap
Routing in Snap
Serving static contents in Snap
Form handling in Snap
Creating and composing snaplets
Session handling in Snap
Authentication in Snap
File upload with Snap
Chapter 10: Working with Advanced Haskell
Working with existentially quantified type
Working with Rank-N type
Working with type family
Working with GADTs
Chapter 11: Working with Lens and Prism
Creating lenses
Working with lenses
Working with Traversal
Working with Iso
Working with Prism
Working with predefined lenses
Chapter 12: Concurrent and Distributed Programming in Haskell
Working with IORef
Working with MVar
Working with STM
Working with strategies
Working with monad-par
Working with Cloud Haskell
Using Cloud Haskell to start master and slave nodes
Using closure to communicate between nodes
Index.
Notes:
Includes index.
Description based on print version record.
OCLC:
1007536519

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account