• Complain

Vitaly Bragilevsky - Haskell in Depth

Here you can read online Vitaly Bragilevsky - Haskell in Depth full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Shelter Island, NY, year: 2021, publisher: Manning Publications, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Vitaly Bragilevsky Haskell in Depth
  • Book:
    Haskell in Depth
  • Author:
  • Publisher:
    Manning Publications
  • Genre:
  • Year:
    2021
  • City:
    Shelter Island, NY
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Haskell in Depth: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Haskell in Depth" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Turn the corner from Haskell student to Haskell developer. Haskell in Depth explores the important language features and programming skills youll need to build production-quality software using Haskell. And along the way, youll pick up some interesting insights into why Haskell looks and works the way it does. Get ready to go deep!About the technologySoftware for high-precision tasks like financial transactions, defense systems, and scientific research must be absolutely, provably correct. As a purely functional programming language, Haskell enforces a mathematically rigorous approach that can lead to concise, efficient, and bug-free code. To write such code youll need deep understanding. You can get it from this book!About the bookHaskell in Depth unlocks a new level of skill with this challenging language. Going beyond the basics of syntax and structure, this book opens up critical topics like advanced types, concurrency, and data processing. Youll discover key parts of the Haskell ecosystem and master core design patterns that will transform how you write software. Whats inside Building applications, web services, and networking apps Using sophisticated libraries like lens, singletons, and servant Organizing projects with Cabal and Stack Error-handling and testing Pure parallelism for multicore processorsAbout the readerFor developers familiar with Haskell basics.About the authorVitaly Bragilevsky has been teaching Haskell and functional programming since 2008. He is a member of the GHC Steering Committee.

Vitaly Bragilevsky: author's other books


Who wrote Haskell in Depth? Find out the surname, the name of the author of the book and a list of all author's works by series.

Haskell in Depth — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Haskell in Depth" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

Haskell in Depth - image 1

Haskell in Depth

Vitaly Bragilevsky

Foreword by Simon Peyton Jones

To comment go to liveBook

Haskell in Depth - image 2

Manning

Shelter Island

For more information on this and other Manning titles go to

www.manning.com

Copyright

For online information and ordering of these and other Manning books, please visit www.manning.com. The publisher offers discounts on these books when ordered in quantity.

For more information, please contact

Special Sales Department

Manning Publications Co.

20 Baldwin Road

PO Box 761

Shelter Island, NY 11964

Email: orders@manning.com

2021 by Manning Publications Co. All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps.

Recognizing the importance of preserving what has been written, it is Mannings policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15 percent recycled and processed without the use of elemental chlorine.

Haskell in Depth - image 3

Manning Publications Co.

20 Baldwin Road Technical

PO Box 761

Shelter Island, NY 11964

Development editor:

Jenny Stout

Technical development editor:

Marcello Seri

Review editor:

Aleksandar Dragosavljevi

Production editor:

Lori Weidert

Copy editor:

Katie Tennant

Proofreader:

Melody Dolab

Technical proofreader:

Alexander Vershilov

Typesetter:

Gordan Salinovi

Cover designer:

Marija Tudor

ISBN: 9781617295409

dedication

To my mother

front matter
foreword

Many introductory books on Haskell are out there, as well as lots of online tutorials, so the first steps in learning Haskell are readily available. But what happens after that? Haskell has a low floor (anyone can learn elementary Haskell) but a stratospherically high ceiling. Haskell is a uniquely malleable medium: its support for abstraction, thorough algebraic data types, higher kinds, type classes, type families, and so on is remarkable. But this power and flexibility can be daunting. What are we to make of the following:

traverse :: Applicative f => (a -> f b) -> t a -> f (t b)

What are f and t? What on earth does this function do? What is Applicative, anyway? Its all too abstract!

Becoming a power user of Haskell means getting a grip on abstractions like these, not as a piece of theory, but as living, breathing code that does remarkably useful stuff. As we learn these abstractions and see how they work, we realise they are not baked inthey are just librariesso we can build new abstractions of our own, implemented in libraries.

This book exposes you to many of these techniques. It covers many of the more sophisticated parts of the language: not just type classes, but existentials, GADTs, type families, kinds and kind polymorphism, deriving, metaprogramming, and so on. It describes many of the key abstractions (Functor, Applicative, Traversable, etc.) and a carefully chosen set of libraries (for parsing, database, web frameworks, streaming, and data-type-generic programming). As well as being useful in their own right, each part illustrates in a concrete way how Haskells features can be combined in powerful and unexpected ways.

Finally, the book covers aspects of software engineering. How do you design a functional program? How do you test it? How do you benchmark it? What error handling is appropriate? These classic issues show up in rather different guises when you are thinking about functional programming.

Functional programming lets you think big thoughts. It reduces the brain-to-code distance by allowing you to program at a very high level. We are still learning what those high-level abstractions should be. This book will help put you in the vanguard of that journey.

Simon Peyton Jones, Senior Principal researcher at Microsoft Research, Cambridge, England

preface

The history of Haskell started more than 30 years ago, in 1987 (see A History of Haskell: Being Lazy with Class at https://www.microsoft.com/en-us/research/publication/ a-history-of-haskell-being-lazy-with-class/ for many exciting details). Nowadays, Haskell is a mature programming language. It is full of features and has a stable implementation, the Glasgow Haskell Compiler, a helpful and friendly community, and a big ecosystem.

Paraphrasing the Haskell 2010 Language Report ( https://www.haskell.org/ onlinereport/haskell2010/ ), which is an effective standard description of the Haskell language, we can give it the following definition.

Haskell is a general-purpose, purely functional programming language featuring higher-order functions, nonstrict semantics, static polymorphic typing, user-defined algebraic data types, pattern matching, a module system, a monadic I/O system, and a rich set of primitive data types (including lists, arrays, arbitrary- and fixed-precision integers, and floating-point numbers).

This definition is feature centric but gives a little information about how to use all these features professionally. Haskell is by far not the most popular programming language in the world, however. Two unfortunate myths contribute a lot to its limited adoption:

  • It is hopeless to program in Haskell without a PhD in math.

  • Haskell is not ready/suitable for production.

I believe that both of these claims are false. In fact, we can use Haskell in production without learning and doing math by ourselves. The truth is that the deep mathematical concepts behind the language itself give us a tool that can be used to write flexible, expressive, and performant code that is resilient to frequent changes in requirements, well suited to massive refactoring, and less prone to mistakes. If you like these software qualities, then Haskell is definitely for you and your team.

When talking about any programming language in general and its use in industry, we usually discuss the following components:

  • Language features, programming style, and how they affect one another

  • The set of libraries (packages) available to developers and their distribution

  • The tooling that forms a convenient programming environment

Figure 1 presents these components for the Haskell programming language. They form a language ecosystem and make building software for the real world possible.

Figure 1 Haskell ecosystem This is precisely what I talk about in this book - photo 4

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Haskell in Depth»

Look at similar books to Haskell in Depth. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Haskell in Depth»

Discussion, reviews of the book Haskell in Depth and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.