Haskell je standardizovaný funkcionální programovací jazyk používající zkrácené vyhodnocování, pojmenovaný na počest logika Haskella Curryho. Byl vytvořen v 80. letech 20. století. Posledním polooficiálním standardem je Haskell 98, který definuje minimální a přenositelnou verzi jazyka využitelnou k výuce nebo jako základ dalších rozšíření. Jazyk se rychle vyvíjí, především díky svým implementacím Hugs a GHC.
Haskell je jazyk dodržující referenční transparentnost. To, zjednodušeně řečeno, znamená, že tentýž (pod)výraz má na jakémkoliv místě v programu stejnou hodnotu. Mezi další výhody tohoto jazyka patří přísné typování proměnných, které programátorovi může usnadnit odhalování chyb v programu. Haskell plně podporuje práci se soubory i standardními vstupy a výstupy, která je ale poměrně složitá kvůli zachování referenční transparentnosti. Jako takový se Haskell hodí hlavně pro algoritmicky náročné úlohy minimalizující interakci s uživatelem.
Definice funkce faktoriálu:
fac 0 = 1 fac n = n * fac (n - 1)
Jiná definice faktoriálu (používá funkci product ze standardní knihovny Haskellu):
fac n = product [1..n]
Naivní implementace funkce vracející n-tý prvek Fibonacciho posloupnosti:
fib 0 = 0 fib 1 = 1 fib n = fib (n - 2) + fib (n - 1)
Elegantní zápis řadicího algoritmu quicksort:
qsort [] = []
qsort (pivot:tail) =
qsort left ++ [pivot] ++ qsort right
where
left = [y | y <- tail, y < pivot]
right = [y | y <- tail, y >= pivot]
Následující implementace zcela (nebo téměř zcela) vyhovují standardu Haskell 98 a jsou distribuovány pod open source licencí.
| Programovací jazyky | |||
|
ABAP | Ada | AppleScript | AWK | C | C++ | C# | COBOL | ColdFusion | Clean | D | Eiffel | Erlang | Flex | Fortran | JADE | Java | JavaScript | JSA | Lisp | Lua | Oberon | Object Pascal | Objective-C | Pascal | Pawn | Perl | PHP | Python | REALbasic | REBOL | RPG | Ruby | SQL / PL/SQL | Tcl / Tcl/Tk | Visual Basic / VBScript | VB.NET | Visual FoxPro
|
"Si l'homme russe construit les routes, la femme russe trace les chemins."
"Lorsque les femmes russes ne vivront pas seulement à travers leur mari, les hommes russes n'auront plus peur de l'amour ni de la force de la femme russe et n'auront plus besoin de la faiblesse de l'autre pour être sûrs de leur masculinité."