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

Haskell is a pure functional ProgrammingLanguage that employs LazyEvaluation and supports generic or PolymorphicTypes.

It has some cool concepts, like the dot operator. If you remember your calculus, it used the . for functional composition — and so does Haskell! This allows you to do something similar to the pipe operator used in Shell scripting.

Example

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

sieve :: [Int] -> [Int]
sieve [] = []
sieve (h:t) = h : sieve [x| x <- t, x `mod` h /= 0]

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

Implementations

HUGS:
Haskell Users' Gofer System. An interpreter that's good for playing around learning Haskell. (“Gofer” was a subset of Haskell, but HUGS now implements full Haskell.)
GHC:
Glasglow Haskell Compiler. A big, optimising compiler for Haskell.

Part of CategoryProgrammingLanguages, CategoryFunctionalProgrammingLanguages