Haskell Cookbook

Haskell Cookbook

Author: Yogesh Sajanikar

Publisher: Packt Publishing Ltd

Published: 2017-09-25

Total Pages: 388

ISBN-13: 1786462656

DOWNLOAD EBOOK

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.


Practical Haskell

Practical Haskell

Author: Alejandro Serrano Mena

Publisher: Apress

Published: 2019-04-27

Total Pages: 600

ISBN-13: 148424480X

DOWNLOAD EBOOK

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 book contains excellent coverage of the Haskell ecosystem and supporting tools, include Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, the Spock framework for developing 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 takes advantage of this to show off the language and what it can do. 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.


Cooking for Fitness: Eat Smart, Train Better

Cooking for Fitness: Eat Smart, Train Better

Author: James Haskell

Publisher: HarperCollins

Published: 2022-05-10

Total Pages: 212

ISBN-13: 9780008469573

DOWNLOAD EBOOK

Fuel your training the smart way. Boost your performance and achieve your body goals, with the right recipes and correct nutritional advice from rugby superstar and bestselling author James Haskell and one of the UK's top performance chefs and current England football chef, Omar Meziane. Clear, authoritative advice from James and Omar, the Cooking for Fitness dream team 79 everyday easy recipes to fuel your training Learn how the right nutrition can improve your performance Low-carb and high-carb meals with full nutritional breakdown - Easy to read and easy to use


Get Programming with Haskell

Get Programming with Haskell

Author: Will Kurt

Publisher: Simon and Schuster

Published: 2018-03-06

Total Pages: 794

ISBN-13: 1638356777

DOWNLOAD EBOOK

Summary Get Programming with Haskell leads you through short lessons, examples, and exercises designed to make Haskell your own. It has crystal-clear illustrations and guided practice. You will write and test dozens of interesting programs and dive into custom Haskell modules. You will gain a new perspective on programming plus the practical ability to use Haskell in the everyday world. (The 80 IQ points: not guaranteed.) Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Programming languages often differ only around the edges—a few keywords, libraries, or platform choices. Haskell gives you an entirely new point of view. To the software pioneer Alan Kay, a change in perspective can be worth 80 IQ points and Haskellers agree on the dramatic benefits of thinking the Haskell way—thinking functionally, with type safety, mathematical certainty, and more. In this hands-on book, that's exactly what you'll learn to do. What's Inside Thinking in Haskell Functional programming basics Programming in types Real-world applications for Haskell About the Reader Written for readers who know one or more programming languages. Table of Contents Lesson 1 Getting started with Haskell Unit 1 - FOUNDATIONS OF FUNCTIONAL PROGRAMMING Lesson 2 Functions and functional programming Lesson 3 Lambda functions and lexical scope Lesson 4 First-class functions Lesson 5 Closures and partial application Lesson 6 Lists Lesson 7 Rules for recursion and pattern matching Lesson 8 Writing recursive functions Lesson 9 Higher-order functions Lesson 10 Capstone: Functional object-oriented programming with robots! Unit 2 - INTRODUCING TYPES Lesson 11 Type basics Lesson 12 Creating your own types Lesson 13 Type classes Lesson 14 Using type classes Lesson 15 Capstone: Secret messages! Unit 3 - PROGRAMMING IN TYPES Lesson 16 Creating types with "and" and "or" Lesson 17 Design by composition—Semigroups and Monoids Lesson 18 Parameterized types Lesson 19 The Maybe type: dealing with missing values Lesson 20 Capstone: Time series Unit 4 - IO IN HASKELL Lesson 21 Hello World!—introducing IO types Lesson 22 Interacting with the command line and lazy I/O Lesson 23 Working with text and Unicode Lesson 24 Working with files Lesson 25 Working with binary data Lesson 26 Capstone: Processing binary files and book data Unit 5 - WORKING WITH TYPE IN A CONTEXT Lesson 27 The Functor type class Lesson 28 A peek at the Applicative type class: using functions in a context Lesson 29 Lists as context: a deeper look at the Applicative type class Lesson 30 Introducing the Monad type class Lesson 31 Making Monads easier with donotation Lesson 32 The list monad and list comprehensions Lesson 33 Capstone: SQL-like queries in Haskell Unit 6 - ORGANIZING CODE AND BUILDING PROJECTS Lesson 34 Organizing Haskell code with modules Lesson 35 Building projects with stack Lesson 36 Property testing with QuickCheck Lesson 37 Capstone: Building a prime-number library Unit 7 - PRACTICAL HASKELL Lesson 38 Errors in Haskell and the Either type Lesson 39 Making HTTP requests in Haskell Lesson 40 Working with JSON data by using Aeson Lesson 41 Using databases in Haskell Lesson 42 Efficient, stateful arrays in Haskell Afterword - What's next? Appendix - Sample answers to exercise


Haskell Design Patterns

Haskell Design Patterns

Author: Ryan Lemmer

Publisher: Packt Publishing Ltd

Published: 2015-11-06

Total Pages: 166

ISBN-13: 1783988738

DOWNLOAD EBOOK

Take your Haskell and functional programming skills to the next level by exploring new idioms and design patterns About This Book Explore Haskell on a higher level through idioms and patterns Get an in-depth look into the three strongholds of Haskell: higher-order functions, the Type system, and Lazy evaluation Expand your understanding of Haskell and functional programming, one line of executable code at a time Who This Book Is For If you're a Haskell programmer with a firm grasp of the basics and ready to move more deeply into modern idiomatic Haskell programming, then this book is for you. What You Will Learn Understand the relationship between the “Gang of Four” OOP Design Patterns and Haskell Try out three ways of Streaming I/O: imperative, Lazy, and Iteratee based Explore the pervasive pattern of Composition: from function composition through to high-level composition with Lenses Synthesize Functor, Applicative, Arrow and Monad in a single conceptual framework Follow the grand arc of Fold and Map on lists all the way to their culmination in Lenses and Generic Programming Get a taste of Type-level programming in Haskell and how this relates to dependently-typed programming Retrace the evolution, one key language extension at a time, of the Haskell Type and Kind systems Place the elements of modern Haskell in a historical framework In Detail Design patterns and idioms can widen our perspective by showing us where to look, what to look at, and ultimately how to see what we are looking at. At their best, patterns are a shorthand method of communicating better ways to code (writing less, more maintainable, and more efficient code). This book starts with Haskell 98 and through the lens of patterns and idioms investigates the key advances and programming styles that together make "modern Haskell". Your journey begins with the three pillars of Haskell. Then you'll experience the problem with Lazy I/O, together with a solution. You'll also trace the hierarchy formed by Functor, Applicative, Arrow, and Monad. Next you'll explore how Fold and Map are generalized by Foldable and Traversable, which in turn is unified in a broader context by functional Lenses. You'll delve more deeply into the Type system, which will prepare you for an overview of Generic programming. In conclusion you go to the edge of Haskell by investigating the Kind system and how this relates to Dependently-typed programming. Style and approach Using short pieces of executable code, this guide gradually explores the broad pattern landscape of modern Haskell. Ideas are presented in their historical context and arrived at through intuitive derivations, always with a focus on the problems they solve.


Real World Haskell

Real World Haskell

Author: Bryan O'Sullivan

Publisher: "O'Reilly Media, Inc."

Published: 2008-11-15

Total Pages: 714

ISBN-13: 0596554303

DOWNLOAD EBOOK

This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications. Real World Haskell takes you through the basics of functional programming at a brisk pace, and then helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.


Scala Cookbook

Scala Cookbook

Author: Alvin Alexander

Publisher: "O'Reilly Media, Inc."

Published: 2013-08

Total Pages: 722

ISBN-13: 1449340334

DOWNLOAD EBOOK

Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language. Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala for highly scalable, component-based applications that support concurrency and distribution. Packed with real-world scenarios, this book provides recipes for: Strings, numeric types, and control structures Classes, methods, objects, traits, and packaging Functional programming in a variety of situations Collections covering Scala's wealth of classes and methods Concurrency, using the Akka Actors library Using the Scala REPL and the Simple Build Tool (SBT) Web services on both the client and server sides Interacting with SQL and NoSQL databases Best practices in Scala development


First, Catch

First, Catch

Author: Thom Eagle

Publisher: Grove Press

Published: 2020-03-10

Total Pages: 154

ISBN-13: 0802148239

DOWNLOAD EBOOK

“Eagle, a chef and food writer, uses a nine-dish lunch as the occasion to ruminate about cooking, and life” (New York Times Book Review). First, Catch is a cookbook without recipes, an invitation to journey through the digressive mind of a chef at work, and a hymn to a singular nine-dish festive spring lunch. In Eagle’s kitchen, open shelves reveal colorful jars of vegetables pickling over the course of months, and a soffritto of onions, celery, and carrots cook slowly under a watchful gaze in a skillet heavy enough to double as a murder weapon. Eagle has both the sharp eye of a food scientist as he tries to identify the seventeen unique steps of boiling water, as well as of that of a roving food historian as he ponders what the spice silphium tasted like to the Romans, who over-ate it to worldwide extinction. He is a tour guide to the world of ingredients, a culinary explorer, and thoughtful commentator on the ways immigration, technology, and fashion has changed the way we eat. He is also a food philosopher, asking the question: at what stage does cooking begin? Is it when we begin to apply heat or acid to ingredients? Is it when we gather and arrange what we will cook—and perhaps start to salivate? Or does it start even earlier, in the wandering late-morning thought, “What should I eat for lunch?” Irreverent and charming, yet also illuminating and brilliantly researched, First, Catch encourages us to slow down and focus on what it means to cook. With this astonishing and beautiful book, Thom Eagle joins the ranks of great food writers like M.F.K. Fisher, Alice Waters, and Samin Nosrat in offering us inspiration to savor, both in and out of the kitchen. Winner of the Fortnum and Mason’s Debut Food Book Award Shortlisted for the 2018 Andre Simon Food & Drink Book of the Year BBC Radio 4 Food Programme Best Foodbooks of 2018 Times Best Food Books of 2018 Financial Times Summer Food Books of 2018 “A contemplation of cooking and eating, a return to the great tradition of food writing inspired by M.F.K. Fisher’s The Gastronomical Me . . . Eagle writes with a wit and sharpness that can turn a chapter on fermenting pickles into a riff on death and decay while still making it seem like something you would like to put in your mouth.” —Mark Haskell Smith, Los Angeles Times “In two dozen short chapters linked like little sausages, he serves up a bounty of fresh, often tart opinions about food and cooking . . . Eagle is a natural teacher; his enthusiasm and broad view of food preparation is both instructive and inspiring . . . Eagle’s prose, while conversational in tone, is as crafted and layered as his cuisine. Never bland, it is also brightly seasoned with strong opinions . . . Rare among food writing, this book is bound to change the way you think about your next meal.” —Heller McAlpin, Christian Science Monitor


Haskell Programming from First Principles

Haskell Programming from First Principles

Author: Christopher Allen

Publisher:

Published: 2016-07-01

Total Pages:

ISBN-13: 9781945388033

DOWNLOAD EBOOK

Haskell Programming makes Haskell as clear, painless, and practical as it can be, whether you're a beginner or an experienced hacker. Learning Haskell from the ground up is easier and works better. With our exercise-driven approach, you'll build on previous chapters such that by the time you reach the notorious Monad, it'll seem trivial.


Haskell High Performance Programming

Haskell High Performance Programming

Author: Samuli Thomasson

Publisher: Packt Publishing Ltd

Published: 2016-09-26

Total Pages: 409

ISBN-13: 1786466910

DOWNLOAD EBOOK

Boost the performance of your Haskell applications using optimization, concurrency, and parallel programming About This Book Explore the benefits of lazy evaluation, compiler features, and tools and libraries designed for high performance Write fast programs at extremely high levels of abstraction Work through practical examples that will help you address the challenges of writing efficient code Who This Book Is For To get the most out of this book, you need to have a working knowledge of reading and writing basic Haskell. No knowledge of performance, optimization, or concurrency is required. What You Will Learn Program idiomatic Haskell that's also surprisingly efficient Improve performance of your code with data parallelism, inlining, and strictness annotations Profile your programs to identify space leaks and missed opportunities for optimization Find out how to choose the most efficient data and control structures Optimize the Glasgow Haskell Compiler and runtime system for specific programs See how to smoothly drop to lower abstractions wherever necessary Execute programming for the GPU with Accelerate Implement programming to easily scale to the cloud with Cloud Haskell In Detail Haskell, with its power to optimize the code and its high performance, is a natural candidate for high performance programming. It is especially well suited to stacking abstractions high with a relatively low performance cost. This book addresses the challenges of writing efficient code with lazy evaluation and techniques often used to optimize the performance of Haskell programs. We open with an in-depth look at the evaluation of Haskell expressions and discuss optimization and benchmarking. You will learn to use parallelism and we'll explore the concept of streaming. We'll demonstrate the benefits of running multithreaded and concurrent applications. Next we'll guide you through various profiling tools that will help you identify performance issues in your program. We'll end our journey by looking at GPGPU, Cloud and Functional Reactive Programming in Haskell. At the very end there is a catalogue of robust library recommendations with code samples. By the end of the book, you will be able to boost the performance of any app and prepare it to stand up to real-world punishment. Style and approach This easy-to-follow guide teaches new practices and techniques to optimize your code, and then moves towards more advanced ways to effectively write efficient Haskell code. Small and simple practical examples will help you test the concepts yourself, and you will be able to easily adapt them for any application.