Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
Beginning Haskell: A Project-Based Approach

Buy

Beginning Haskell provides a broad-based introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. The book takes a project-based approach to learning the language that is unified around the building of a web-based storefront. Excellent coverage is given to the Haskell ecosystem and supporting tools. These include the Cabal build tool for managing projects and modules, the HUnit and QuickCheck tools for software testing, the Scotty framework for developing web applications, Persistent and Esqueleto for database access, and also parallel and distributed programming libraries. 

Functional programming is gathering momentum, allowing programmers to express themselves in a more concise way, reducing boilerplate and increasing the safety of code. Indeed, mainstream languages such as C# and Java are adopting features from functional programming, and from languages implementing that paradigm. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. This makes Haskell the best tool for both learning and applying functional programming, and Beginning Haskell the perfect book to show off the language and what it can do.

  • Takes you through a series of projects showing the different parts of the language.
  • Provides an overview of the most important libraries and tools in the Haskell ecosystem.
  • Teaches you how to apply functional patterns in real-world scenarios.

What you’ll learn

  • Build small and large projects using the Haskell language.
  • Profit from ecosystem tools such as Cabal, HLint, and QuickCheck.
  • Implement efficient stream I/O via libraries like Conduit.
  • Parallelize code to run on multiple processors or distributed across a network.
  • Create domain-specific languages useable by business users, and to tackle specific problem domains.
  • Build Haskell-backed websites using database and web-application libraries such as Persistent, Esqueleto, and Scotty

Who this book is for

Beginning Haskell is for programmers new to functional programming, who want to learn this new paradigm and how it can improve the quality of their code. Beginning Haskell is also a great choice for functional programmers wanting to get a taste of the Haskell ecosystem and its unique features, or who wish to learn about advanced type system features and patterns.

Table of Contents

Part I: First Steps

1. Going Functional

2. Declaring the Data Model

3. Reusing Code through Lists

4. Using Containers and Type Classes

5. Laziness and Infinite Structures

Part II: Data Mining

6. Knowing Your Clients Using Monads

7. More Monads: Now for Recommendations

8. Parallelizing the Execution

Part III: Resource Handling

9. Dealing with Files: IO and Conduit

10. Builders and Parsers

11. Safe Database Access

12. Web Applications

Part IV: Domain Specific Languages

13. Strong Types

14. Attribute Grammars

Part V: Engineering the Store

15. Documenting, Testing, and Verifying

16. Architecting Your Application

(HTML tags aren't allowed.)

High-Speed Networking: A Systematic Approach to High-Bandwidth Low-Latency Communication
High-Speed Networking: A Systematic Approach to High-Bandwidth Low-Latency Communication
"Building networks with high performance demanded by today's applications requires a complete understanding of the basic principles and latest techniques. This book is the definitive guide to both."-Lyman Chapin

High-speed networking is the essential enabler of modern sophisticated distributed computing applications. This
...
MCSE Training Kit: Microsoft Internet Security and Acceleration Server 2000
MCSE Training Kit: Microsoft Internet Security and Acceleration Server 2000
Welcome to MCSE Training Kit: Microsoft Internet Security and Acceleration Server 2000. This training kit teaches you how to install and configure Microsoft Internet Security and Acceleration Server 2000 (ISA Server), an enterprise-class firewall and Web caching server. The book begins with an overview of the features and benefits of...
Microsoft  Office PowerPoint  2007 Step by Step
Microsoft Office PowerPoint 2007 Step by Step
The smart way to learn Office PowerPoint 2007one step at a time! Work at your own pace through the easy numbered steps, practice files on CD, helpful hints, and troubleshooting help to master the fundamentals of working with the latest version of PowerPoint, including how to navigate the new, easy-to-use user interface. You will discover how to...

Robust Range Image Registration Using Genetic Algorithms And The Surface Interpenetration Measure
Robust Range Image Registration Using Genetic Algorithms And The Surface Interpenetration Measure
This book addresses the range image registration problem for automatic 3D model construction. The focus is on obtaining highly precise alignments between different view pairs of the same object to avoid 3D model distortions; in contrast to most prior work, the view pairs may exhibit relatively little overlap and need not be prealigned. To this end,...
Java Methods for Financial Engineering: Applications in Finance and Investment
Java Methods for Financial Engineering: Applications in Finance and Investment
In order to build a successful, Java-based application it is important to have a clear understanding of the principles underlying the various financial models. Those models guide the application designer in choosing the most appropriate Java data structures and implementation strategy. This book describes the principles of model building in...
Advanced  Dynamics: Analytical and Numerical Calculations with MATLAB
Advanced Dynamics: Analytical and Numerical Calculations with MATLAB

Advanced Dynamics: Analytical and Numerical Calculations with MATLAB provides a thorough, rigorous presentation of kinematics and dynamics while using MATLAB as an integrated tool to solve problems. Topics presented are explained thoroughly and directly,allowing fundamental principles to emerge through applications from areas such as...

©2021 LearnIT (support@pdfchm.net) - Privacy Policy