Haskell

Haskell is a functional programming language. If you have some programming experience, see the overview to see a bit of how Haskell works and is different from other languages.

Haskell is distinct in a few ways:

Haskell programmers enjoy their language because dealing with only pure functions makes code much easier to understand and each function's correctness much easier to analyze and even to prove. Moreover, the advanced type system helps catch mistakes, both silly and profound.

In this book we aim to introduce you both to the Haskell language, from the very basics to advanced features, and to computer programming in general. We urge seasoned programmers to be especially patient with this process. In all likelihood, the languages you are most familiar with differ greatly from Haskell, and habits from those languages might make it more difficult to understand how things work − they are simple, but different. Face learning to see the world through the warped mindset of a functional programmer as an adventure in a brave new world, which will bring you understanding valuable far beyond the boundaries of any language.

Overview

The book is divided into a Beginner's Track, an Advanced Track, and a section called Haskell in Practice which covers more day-to-day issues and uses mostly only items from the Beginner's Track.

The following box can be used to search for content in the book:

Beginner's Track

With the basics of the language and some of the more frequently used libraries, you will be able to build simple programs.

Most chapters contain exercises that help you test your understanding. At the end of each chapter is a link to the solutions, so you can check your accuracy or learn the answers if you are stuck.

Haskell Basics

Elementary Haskell

Intermediate Haskell

Monads

Advanced Track

This section introduces wider functional programming concepts such as different data structures and type theory. It will also cover more practical topics like concurrency.

Advanced Haskell

Fun with Types

Wider Theory

Haskell Performance

Haskell in Practice

Day-to-day issues of working with Haskell include items such as knowing the standard libraries, building graphical interfaces, and working with databases. You should be able to jump directly to this section from the beginner's track.

Libraries Reference

General Practices

Specialised Tasks

Appendices

About the book

Other Haskell tutorials

Tutorials that have been incorporated into the Haskell Wikibook

The following may be read independently, but their content has been imported and adapted already into the Wikibook here

Additional resources

This article is issued from Wikibooks. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.