Skip main navigation
We use cookies to give you a better experience, if that’s ok you can close this message and carry on browsing. For more info read our cookies policy.
We use cookies to give you a better experience. Carry on browsing if you're happy with this, or read our cookies policy for more information.


Haskell programs compute by reduction, i.e. gradually replacing expressions by their values.

A function takes one or more arguments and computes a result. Given the same arguments, the result will always be the same. In Haskell there are no side-effects.

The list is a key data structure. It is quite similar to lists in other languages. However note that Haskell lists are immutable.

Share this article:

This article is from the free online course:

Functional Programming in Haskell: Supercharge Your Coding

University of Glasgow

Get a taste of this course

Find out what this course is like by previewing some of the course steps before you join:

  • Haskell history poster
    Brief History of Haskell

    What are the origins of the Haskell programming language? In this article, Dr Jeremy Singer explores the history of Haskell.

Contact FutureLearn for Support