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.
-- 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 = (print . length . sieve) [2..100000]
Part of CategoryProgrammingLanguages, CategoryFunctionalProgrammingLanguages