Haskell: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Haskell may refer to:

Haskell is one of several locations in the United States:

Haskell is a surname:

Haskell is a given name:

Popularity Popular names page

Travel guide

Up to date as of January 14, 2010

From Wikitravel

Haskell is in the Green Country region of Oklahoma.

This article is an outline and needs more content. It has a template, but there is not enough information present. Please plunge forward and help it grow!

Study guide

Up to date as of January 14, 2010

From Wikiversity


The Haskell Computer Programming Course

Crystal Clear app kaddressbook.png
Please help develop this page

This page was created, but so far, little content has been added. Everyone is invited to help expand and create educational content for Wikiversity. If you need help learning how to add content, see the editing tutorial and the MediaWiki syntax reference.

To help you get started with content, we have automatically added references below to other Wikimedia Foundation projects. This will help you find materials such as information, media and quotations on which to base the development of "Haskell" as an educational resource. However, please do not simply copy-and-paste large chunks from other projects. You can also use the links in the blue box to help you classify this page by subject, educational level and resource type.

Wikipedia-logo.png Run a search on Haskell at Wikipedia.
Commons-logo.svg Search Wikimedia Commons for images, sounds and other media related to: Haskell
Wikimedia-logo.svg Search for Haskell on the following projects:
Smiley green alien whatface.svg Lost on Wikiversity? Please help by choosing project boxes to classify this resource by:
  • subject
  • educational level
  • resource type
The Lambda Glyph, often used as the Haskell logo.


Hello, and welcome to the future home of the Haskell Computer Programming Course. We will be learning about the Haskell programming language.


All contributions are appreciated. Even newcomers are welcome to make changes, remember Be bold !

Lessons for Beginners

Lesson one- Introduction to Haskell
    • What is Haskell?
    • How is Haskell different than other languages?
      • Haskell compared with:
        • C
        • C++
        • Java
        • Python
        • Basic
          • Visual Basic
        • Lisp
          • Common Lisp
          • Scheme
    • What is functional programming?
Lesson two-

Intermediate Lessons

Lesson one-
Lesson two-

Advanced Lessons

Lesson one-
Lesson two-

Class Project?

  • Spell check bot?

Further Reading

The Haskell Wikibook

The Haskell Wikipedia Article


Up to date as of January 15, 2010

Definition from Wiktionary, a free dictionary



Proper noun




  1. An English patronymic surname derived from the Old Norse given name Áskell.
  2. A Jewish surname derived from the equivalent of English Ezekiel.
  3. A male given name transferred from the surnames.
  4. (computing, programming languages) A type of functional programming language with features such as support for recursive functions and pattern-matching. (Named after the logician Haskell Curry)


See also


Up to date as of January 23, 2010

From Wikibooks, the open-content textbooks collection

Haskell :: Functional Programming with Types


Haskell is a functional programming language. If you have programmed before and would like to see a little bit of how Haskell works and is different from other programming languages, you can get an overview.

Haskell is unique for two reasons. The first is that it is purely functional. If you have a function and you call it twice in two different places with the same arguments then it will return exactly the same value both times. Secondly, Haskell provides a very modern type system which incorporates features like typeclasses and generalized algebraic data types. (We don't expect you to know what these terms mean for now, but we do hope they'll be rolling smoothly off your tongue by the time you are done with this book.)

So, why do Haskellers like the language then? Is it just because we like using things that are unique and modern? No, Haskell programmers enjoy their work because dealing with just pure functions makes it so much easier to understand our programs and prove them correct. Moreover, having an advanced type system helps us catch our mistakes, both the silly and profound ones.

In this book we aim to introduce you both to the Haskell language, from the very basics to its most advanced features, and to computer programming in general. Seasoned programmers, we urge you 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: simple, but different. So treat this as an adventure, a whole different world, seeing programming through the warped and mathematical mindset of a functional programmer.


The book is divided into three sections, namely, the Beginner's Track, the Advanced Track, and Practical Haskell. The last is designed to cover the more day-to-day issues, and to be readable with simply the knowledge of the Beginner's Track.

Please contribute! Everyone, regardless of Haskell competency, can help out. Spend five minutes improving a module and save someone else hours of time. Check out the notes for contributors.

Beginner's Track

This section will introduce you to the very basics of the language and some of the more frequently used libraries. This will enable you to build simple programs and prepare you for the advanced track.

Haskell Basics

edit this chapter

Elementary Haskell

edit this chapter

Intermediate Haskell

edit this chapter


edit this chapter

Advanced Track

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

Advanced Haskell

edit this chapter

Fun with Types

edit this chapter

Wider Theory

edit this chapter

Haskell Performance

edit this chapter

Haskell in Practice

This section covers the more day-to-day issues of working with Haskell, issues such as making use of the standard library, building graphical interfaces or working with databases. You should be able to jump directly to this section from the basic track.

Libraries Reference

edit this chapter

General Practices

edit this chapter

Specialised Tasks

edit this chapter


Answers to exercises
Syntactic sugar
Authors and Acknowledgements
Notes for contributors
To do
Templates for the Haskell wikibook

Alternate tutorials

  • Write Yourself a Scheme in 48 Hours - (imported) An alternate approach to teaching Haskell (and perhaps Scheme), aimed at a more advanced audience (though not necessarily one that knows how to program!)
  • Yet Another Haskell Tutorial - (imported) is aimed at beginners and takes a practical approach to things. It is now part of this wikibook and will eventually be mixed in to the main text.
  • Haskell Meta-tutorial - the tutorial to find other tutorials

Additional resources


Got something to say? Make a comment.
Your name
Your email address