Penguin
Note: You are viewing an old revision of this page. View the current version.

Haskell is another one of those functional programming languages. To quote http://www.haskell.org, "In particular, it is a polymorphicly typed, lazy, purely functional language".

Everything is a function in Haskell. Everything. If you are used to languages like C or Java, Haskell can be quite hard to learn.
Although it will be an eye-opener, problems that seemed terribly difficult in C will suddenly become easy to solve -- GlynWebster
On the flipside, things that are easy in C (eg: I/O) suddenly become very hard to solve in Haskell :) -- PerryLorier

It does have some quite cool concepts though. One in particular is the dot . operator. If you remember your calculus, you use the . for functional composition: so does Haskell! This allows you to do something similar to the pipe operator used in shell scripting.

It also does stuff like LazyEvaluation, supports generic or PolymorphicTypes, and is 'purely functional' -- this means you can even do mathematical proof on your programs.

See http://www.haskell.org for more info.

Example

-- sieve: prints the number of prime numbers between 2 and 100000

sieve :: [Int? -> [Int? sieve [? = [? sieve (h:t) = h : sieve [x?

main = (putStrLn . show . length . sieve) [2..100000?

Implementations

HUGS - Haskell Users' Gofer1? System. An interpreter for Haskell. This is good for playing around learning Haskell (which is what you do with Haskell, unless you're serious computer scientist). See: http://haskell.org/hugs

GHC - Glasglow Haskell Compiler. A big, optimising compiler for Haskell. See: http://www.haskell.org/ghc/


1? Gofer was a subset of Haskell, HUGS now implements full Haskell.


CategoryProgrammingLanguages