Haskell (programming language) facts for kids
Paradigm | functional, lazy/non-strict, modular |
---|---|
Designed by | 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 |
First appeared | 1990 |
Stable release |
Haskell 2010 / July 2010
|
Preview release |
Announced as Haskell 2014
|
Typing discipline | static, strong, inferred |
OS | Cross-platform |
Filename extensions | .hs , .lhs |
Major implementations | |
GHC, Hugs, NHC, JHC, Yhc, UHC | |
Dialects | |
Helium, Gofer |
Haskell is a purely functional programming language. It is named after Haskell Brooks Curry, a U.S. mathematician who contributed a lot to logic. Haskell is based on lambda calculus and uses the Greek letter lambda as its logo. The main implementations are the Glasgow Haskell Compiler (GHC), and Hugs, a Haskell interpreter.
Examples
The following is an example Hello World program in Haskell:
module Main where
main :: IO
main = putStrLn "Hello, World!"
One way to create an infinite list of Fibonacci numbers is this:
fib n = fibs !! n
where fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
Influence
Haskell was influenced by many earlier programming languages. These were Clean, FP, Gofer, Hope and Hope+, Id, ISWIM, KRC, Lisp, Miranda, ML and Standard ML, Orwell, SASL, SISAL, and Scheme.
Haskell itself has influenced many later programming languages, such as Agda, Bluespec, C++11/Concepts, C#/LINQ, Cayenne, Clean, Clojure, CoffeeScript, Curry, F#, Isabelle, Java/Generics, Mercury, Perl 6, Python, Scala, Visual Basic 9.0.
See also
In Spanish: Haskell para niños