Haskell (komputillingvo)
Haskell | |
---|---|
pure funkcia programlingvo • non-strict programming language • modula programlingvo • interpretata programlingvo • off-side rule language • tradukata programlingvo • programlingvo | |
Paradigmo(j): funkcia programado • pure funkcia programado • non-strict programming language | |
Aperis en: | 1990 |
Aŭtoro(j): | Simon Peyton Jones, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler |
Tipa sistemo: | strikita, statika |
Programlingva(j) dialekto(j): | Helium, Gofer, Hugs, Ωmega |
Haskell (aŭ Esperante Haskelo) estas komputillingvo kreita de Paul Hudak, Simon Peyton Jones, kaj Philip Wadler en 1987. Pli specife, ĝi estas himonimige tipizema, nestrikta, pure funkcia lingvo. La lingvo estas nomita por Haskell Brooks Curry, kies esploro pri matematika logiko estas la fundamento de funkciaj lingvoj. Haskell baziĝas de la lambdokalkulo.
Jen n! en Haskell:
fac :: Int -> Int
fac 0 = 1
fac n | n>0 = n * fac (n-1)
Jen alia ekzemplo:
main = print (take 100 primoj)
primoj :: [Integer]
primoj = 2:filter prima [3,5..]
where
prima n = all ((/= 0) . (n `mod`))
(takeWhile (\x -> x * x <= n) primoj)