# What is Haskell?

Haskell is an advanced computer programming language. Considered purely functional programming, the language consists of evaluations of expressions. These expressions are typically written in a format where one part of the expression equals the other. The language is written on a Haskell platform, and it can be easily integrated with other computer programming languages.

Based off the system of lambda calculus, Haskell uses the Greek lambda symbol as its logo. Lambda calculus examines the relationships within mathematical functions, function application and recursion. This mathematical system functions under the theory that simpler, shorter equations are more powerful than long, complicated ones, and this gives Haskell the basis for its user-friendly, easy-to-learn format.

The structure of the expressions that run in Haskell allow a program to theoretically run infinite data streams. This is because of the lazy evaluation properties of the language, meaning that an expression is essentially inactive until it is needed in conjunction with another statement. Once it is needed, the expression will produce the needed values and pass on to the next expression. When programmed as such, this can create an infinite loop of data.

Haskell uses a system of static typing. This allows the program to check itself for errors before the program runs, making it possible to catch mistakes in the code before the program is completed. Static typing is believed to result in more efficient code than its dynamic counterpart, and has the advantage of proofing itself as it is written. This can be a major time-saver if there is an error in the essential, basic function areas of the code; if not discovered until the program is run, it can mean a major rewrite.

Often used for programs that need to be regularly modified or updated, Haskell has enough in common with other programming languages that it is often a stepping stone for programmers on their way to working with another language. Haskell can accommodate both numeric and symbolic programming, and has been used by major companies. Its longevity has been in part because of its easy use and constant updates.

The language gets its name from the mathematician Haskell Brooks Curry, who did much of his work in the theory of formal systems and processes. His research in mathematical logic formed the basis on which computer programming languages were built, including the one to which he gave his name. Curry passed away in 1982, at the age of 82.

The platform for Haskell programming is available for download from a number of sites, including the company's own page. The download is free, and comes with tutorials and guides for the beginning programmer.

## Discuss this Article

## Post your comments