What's the best book for learning Haskell

Hi, I've been asked to do a haskell project and I don't feel I know enough of it to complete it. Is there any sites or books you can suggest. Books are preferable!

Suggest a resource

Aws4 request&x amz signedheaders=host&x amz signature=928f40097531278c714a2898151237d423d1bcf5368b0f1ce2e1e88053663442

Learning Haskell Data Analysis

Visit home page

Analyze, manipulate, and process datasets of varying sizes efficiently using Haskell

About This Book

  • Create portable databases using SQLite3 and use these databases to quickly pull large amounts of data into your Haskell programs.
  • Visualize data using EasyPlot and create publication-ready charts
  • An easy-to-follow guide to analyze real-world data using the most commonly used statistical techniques

Who This Book Is For

If you are a developer, analyst, or data scientist who wants to learn data analysis methods using Haskell and its libraries, then this book is for you. Prior experience with Haskell and a basic knowledge of data science will be beneficial.

What You Will Learn

  • Learn the essential tools of Haskell needed to handle large data
  • Migrate your data to a database and learn to interact with your data quickly
  • Clean data with the power of Regular Expressions
  • Plot data with the Gnuplot tool and the EasyPlot library
  • Formulate a hypothesis test to evaluate the significance of your data
  • Evaluate the variance between columns of data using a correlation statistic and perform regression analysis

In Detail

Haskell is trending in the field of data science by providing a powerful platform for robust data science practices. This book provides you with the skills to handle large amounts of data, even if that data is in a less than perfect state. Each chapter in the book helps to build a small library of code that will be used to solve a problem for that chapter. The book starts with creating databases out of existing datasets, cleaning that data, and interacting with databases within Haskell in order to produce charts for publications. It then moves towards more theoretical concepts that are fundamental to introductory data analysis, but in a context of a real-world problem with real-world data. As you progress in the book, you will be relying on code from previous chapters in order to help create new solutions quickly. By the end of the book, you will be able to manipulate, find, and analyze large and small sets of data using your own Haskell libraries.

This is a great book if you are looking into data analysis with mathematics, obviously in Haskell. You'll need to have a background in mathematics to appreciate this book, as the subject matter becomes rather math-heavy later in the book.

Aws4 request&x amz signedheaders=host&x amz signature=9ea70f4570284107682ba13091a248e3b246859de5a7625f42d0ce17e5b8920e

Programming in Haskell

Visit home page

Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The author is a leading Haskell researcher and instructor, well-known for his teaching skills. The presentation is clear and simple, and benefits from having been refined and class-tested over several years. The result is a text that can be used with courses, or for self-learning. Features include freely accessible Powerpoint slides for each chapter, solutions to exercises and examination questions (with solutions) available to instructors, and a downloadable code that's fully compliant with the latest Haskell release.

Learning Haskell is not an easy task. Mostly because it takes time to acclimatise to the functional paradigm. It has been impossible to learn Haskell using a single book, and I have got a lot of them because different people use functions for some things but other devs will use a different approach. I would certainly say the best place to start is "Programming in Haskell".

Aws4 request&x amz signedheaders=host&x amz signature=ca059356664e9778ff759a1a692a6585b6d3c43abfe8912a9c492f346ad939d1

Learn You a Haskell for Great Good!: A Beginner's Guide

Visit home page

It's all in the name: Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language. Packed with the author's original artwork, pop culture references, and most importantly, useful example code, this book teaches functional fundamentals in a way you never thought possible.

You'll start with the kid stuff: basic syntax, recursion, types and type classes. Then once you've got the basics down, the real black belt master-class begins: you'll learn to use applicative functors, monads, zippers, and all the other mythical Haskell constructs you've only read about in storybooks.

As you work your way through the author's imaginative (and occasionally insane) examples, you'll learn to:

  • Laugh in the face of side effects as you wield purely functional programming techniques
  • Use the magic of Haskell's "laziness" to play with infinite sets of data
  • Organize your programs by creating your own types, type classes, and modules
  • Use Haskell's elegant input/output system to share the genius of your programs with the outside world

Short of eating the author's brain, you will not find a better way to learn this powerful language than reading Learn You a Haskell for Great Good!

Excerpt from the Introduction

Haskell is fun, and that’s what it’s all about!

This book is aimed at people who have experience programming in imperative languages—such as C++, Java, and Python—and now want to try out Haskell. But even if you don’t have any significant programming experience, I’ll bet a smart person like you will be able to follow along and learn Haskell.

My first reaction to Haskell was that the language was just too weird. But after getting over that initial hurdle, it was smooth sailing. Even if Haskell seems strange to you at first, don’t give up. Learning Haskell is almost like learning to program for the first time all over again. It’s fun, and it forces you to think differently.

If you ever get really stuck, the IRC channel #haskell on the freenode network is a great place to ask questions. The people there tend to be nice, patient, and understanding. They’re a great resource for Haskell newbies.

So, What's Haskell?

Haskell is a purely functional programming language.

In imperative programming languages, you give the computer a sequence of tasks, which it then executes. While executing them, the computer can change state. For instance, you can set the variable a to 5 and then do some stuff that might change the value of a. There are also flow-control structures for executing instructions several times, such as for and while loops.

Purely functional programming is different. You don’t tell the computer what to do—you tell it what stuff is. For instance, you can tell the computer that the factorial of a number is the product of every integer from 1 to that number or that the sum of a list of numbers is the first number plus the sum of the remaining numbers. You can express both of these operations as functions.

> Read the Introduction (PDF) in its entirety.

If you are a polyglot programmer in other languages you will often find yourself skipping chunks of information which I was a bit disappointed about. But, if you don't know much or have limited experience this is for you.