Автор: Alejandro Serrano Mena
Издательство: Apress
Год: 2022
Страниц: 600
Язык: английский
Формат: pdf (true), epub (true)
Размер: 12.6 MB
Get a practical, hands-on 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. This updated edition includes more modern treatment of Haskell's web framework and APIs.
This book contains excellent coverage of the Haskell ecosystem and supporting tools, including Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, WAI and Elm to develop the back end and front end of web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.
You’ll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. 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 Practical Haskell, Third Edition takes advantage of this to show off the language and what it can do. Free source code available on the Apress GitHub page for this book.
This book focuses both on the ideas underlying and on the practicalities of Haskell programming. The chapters show you how to apply functional programming concepts in real-world scenarios. They also teach you about the tools and libraries that Haskell provides for each specific task. Newcomers to functional programming will not be the only ones who will benefit from reading this book. Developers of Scala, Clojure, Lisp, or ML will also be able to see what sets Haskell apart from other languages.
The book revolves around the project of building a web-based storefront. In each of the five parts, the focus is on a subsystem of this store: representing clients and products in memory, data mining (including parallelization and concurrency), persistent storage, discounts and offers, and the general architecture of the application. The topics have been carefully selected for you to get a glimpse of the whole Haskell ecosystem.
Why Haskell?
If you are reading this book, it means you are interested in learning Haskell. But what makes this language special? Its approach to programming can be summarized as follows:
- Haskell belongs to the family of functional languages.
- It embodies in its core the concept of purity, separating the code with side effects from the rest of the application.
- The evaluation model is based on laziness.
- Types are statically checked by the compiler. Also, Haskell features a type system that is much stronger and expressive than usual.
- Its approach to polymorphism is based on parametricity (similar to generics in Java and C#) and type classes.
What You Will Learn
Get started programming with Haskell
Examine the different parts of the language
Gain an overview of the most important libraries and tools in the Haskell ecosystem
Apply functional patterns in real-world scenarios
Understand monads and monad transformers
Proficiently use laziness and resource management
Who This Book Is For
Experienced programmers who may be new to the Haskell programming language. However, some prior exposure to Haskell is recommended.
Скачать Practical Haskell: A Real-World Guide to Functional Programming, 3rd Edition