Haskell
Haskell (/ˈhæskəl/) is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell has pioneered a number of programming language features such as type classes, which enable type-safe operator overloading, and monadic input/output (IO). It is named after logician Haskell Curry. Haskell's main implementation is the Glasgow Haskell Compiler (GHC).
Paradigm | Purely functional |
---|---|
Designed by | Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, Simon Peyton Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler |
First appeared | 1990 |
Stable release | Haskell 2010
/ July 2010 |
Preview release | Haskell 2020 announced
|
Typing discipline | Inferred, static, strong |
OS | Cross-platform |
Filename extensions | .hs, .lhs |
Website | haskell |
Major implementations | |
GHC, Hugs, NHC, JHC, Yhc, UHC | |
Dialects | |
Gofer | |
Influenced by | |
Clean, FP, Gofer, Hope and Hope+, Id, ISWIM, KRC, Lisp, Miranda, ML and Standard ML, Orwell, SASL, Scheme, SISAL | |
Influenced | |
Agda, Bluespec, C++11/Concepts, C#/LINQ, CAL, Cayenne, Clean, Clojure, CoffeeScript, Curry, Elm, Epigram, Escher, F#, Hack, Idris, Isabelle, Java/Generics, LiveScript, Mercury, Ωmega, PureScript, Python, Raku, Rust, Scala, Swift, Visual Basic 9.0 |
Haskell's semantics are historically based on those of the Miranda programming language, which served to focus the efforts of the initial Haskell working group. The last formal specification of the language was made in July 2010, while the development of GHC continues to expand Haskell via language extensions.
Haskell is used in academia and industry. As of May 2021, Haskell was the 28th most popular programming language by Google searches for tutorials, and made up less than 1% of active users on the GitHub source code repository.