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]
lib/main.php:944: Notice: PageInfo: Cannot find action page